我有一个包含UPC代码的对象,我正在迭代它们,通过jsonp请求点击服务器获取每个产品信息:
$.each( obj, function( key, val ){
var requestUrl = 'https://domain.com/products/' + val.upcCode + '/prices';
$.ajax({
url : requestUrl,
dataType : 'jsonp',
success : function(responseData){
console.log( responseData );
}
});
});
这样做除了第一个请求没有正确添加回调参数。所有其他请求得到
&callback=jQuery111108732157719514818_1411587984724&_=1411587984725
附加(或类似),但第一个只是
&true=jsonp&_=1411587984723
所以服务器没有得到回调而只返回json。有人见过jQuery这样做吗?
答案 0 :(得分:2)
答案似乎是我已经做了一个单独的早期jsonp请求,其中我手动将jsonpCallback值设置为' jsonp':
$.ajax({
url : '/logic/under29.js',
dataType : 'jsonp',
jsonpCallback : 'jsonp',
success : function(response){
console.log( response);
logic = response;
}
});
回调任何其他内容的名称,第二个jsonp请求有效。将其命名为" jsonp"而你得到上述问题。
(jquery 1.11.1)