处理'Content-Type': 'text/javascript'

今天在调试微信相关的接口是 我看到有个接口的'Content-Type' 为 'text/javascript' 

返回值为

window.code=200;window.redirect_uri="https://wx.qq.com/cgi-bin/mmwebwx-bin/webwxnewloginpage?ticketLD5bdhhrGFLwtGqF1@qrticket_0&uuid=4emu1sc6Qg==&lang=zh_CN&scan=1558169698";

当'Content-Type' 为 'text/javascript'  实际返回的值是一个字符串.

这个时候要想处理里面的值 就比较麻烦

这个时候 可以使用 eval()    函数

具体操作如下

let confirmRes = 'window.code=200;window.redirect_uri="https://wx.qq.com/cgi-bin/mmwebwx-bin/webwxnewloginpage?ticketLD5bdhhrGFLwtGqF1@qrticket_0&uuid=4emu1sc6Qg==&lang=zh_CN&scan=1558169698";'
let window = {}
eval(confirmRes)    
if (window['code'] == 200) {
   console.log(window['redirect_uri'])
   return data
}

 

如此 就能得到字符串中的变量了 非常简单.方便  

但同时这个函数是个魔鬼 

别人可以利用eval() 函数的功效 进行代码注入

你可能感兴趣的:(前端技术,js,格物)