我这样得到json:
$.getJSON(userUrl+'scanp?callback=?', { 'someparametar': 100 }, function(data){
console.log(data);
});
我收到了我的网址回复,看起来像这样:
'"jQuery1110010384737118147314_1401820556204({'hasWon':'false','code':'120580e9fce67a4921f31af7ffa358cc10c83b10','defaultReward':'{\"secure_url\":\"https://res.cloudinary.com/deh0vdgzd/image/upload/v1401318096/k6jrm2pehwycmehrkicz.png\",\"url\":\"http://res.cloudinary.com/deh0vdgzd/image/upload/v1401318096/k6jrm2pehwycmehrkicz.png\",\"resource_type\":\"image\",\"format\":\"png\",\"height\":960,\"width\":640,\"signature\":\"a8ca9bb867e0a3d99e1666b7891e8f918d81e627\",\"version\":1401318096,\"public_id\":\"k6jrm2pehwycmehrkicz\"}''}"'
我知道为什么我在控制台时没有得到任何回复。记录它?
答案 0 :(得分:0)
使用'回调'在您的查询字符串中,JQuery使用随机生成的方法名称包装响应。要获取JSON(没有方法名称),请删除' callback =?'来自querystring。
如果您的服务器支持JSONP,您可以进行如下调用:
$.ajax({
type: 'GET',
url: url,
jsonpCallback: 'jsonCallback',
contentType: "application/json",
dataType: 'jsonp',
success: function(json) {
console.log(JSON.stringify(json));
},
error: function(e) {
console.log(e.message);
}
});
希望这有帮助。
答案 1 :(得分:0)
好吧我明白了,我写的请求非常好。导致问题的原因是我从服务器获得的响应。
返回前是JSON字符串化。