我有一个包含 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 );
}
});
});
除了第一个请求未正确添加回调参数之外,此方法有效。所有其他请求都会得到 p>
&callback=jQuery111108732157719514818_1411587984724&_=1411587984725
(或类似)已附加,但第一个仅获取
&true=jsonp&_=1411587984723
所以服务器不会收到回调,只是返回 json。有人见过 jQuery 这样做吗?
最佳答案
答案似乎是我之前发出了一个单独的 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)
关于javascript - jquery jsonp 请求未正确添加回调参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26025589/