我在节点服务器上向返回JSONP的端点发出请求。我尝试删除回调参数,请求失败。正在寻找一种将此JSONP响应转换为普通JSON的方法。
{ data: 'callback1241232([201, {"name": "Thomas"}]);'}
预期
{ data: [201, {"name": "Thomas"}] }
axios
是我用来发出这些请求的库,它不会为你转换。
答案 0 :(得分:1)
以下是使用regex
进行此操作的一种方法。
return axios.get('http://ex.com/jsonp-res?callback=callback')
.then(data => {
data = JSON.parse(data.data.replace(/^callback\(|\)\;/g, ''))
console.log(data)
})
答案 1 :(得分:-1)
这是使用可怕的eval
进行此操作的一种方法。
return axios.get('http://ex.com/jsonp-res?callback=callback')
.then(data => {
function callback(data) {
console.log(data)
}
eval(data.data)
})