今天在调试微信相关的接口是 我看到有个接口的'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() 函数的功效 进行代码注入