Javascript jquery jsonp请求未正确添加回调参数
我有一个包含UPC代码的对象,我正在对它们进行迭代,通过jsonp请求在服务器上查找每个代码的产品信息:Javascript jquery jsonp请求未正确添加回调参数,javascript,jquery,jsonp,Javascript,Jquery,Jsonp,我有一个包含UPC代码的对象,我正在对它们进行迭代,通过jsonp请求在服务器上查找每个代码的产品信息: $.each( obj, function( key, val ){ var requestUrl = 'https://domain.com/products/' + val.upcCode + '/prices'; $.ajax({ url : requestUrl, dataType : 'jsonp', success
$.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这样做吗?答案似乎是我提出了一个单独的、早期的jsonp请求,其中我手动将JSONPCCallback值设置为“jsonp”:
$.ajax({
url : '/logic/under29.js',
dataType : 'jsonp',
jsonpCallback : 'jsonp',
success : function(response){
console.log( response);
logic = response;
}
});
命名该回调,然后第二个jsonp请求工作。将其命名为“jsonp”,您就会遇到上面描述的问题
(jquery 1.11.1)你确定是jquery搞砸了,而不是服务器端重定向重写了jquery生成的url吗?这当然是可能的,服务器维护人员确实喜欢他们的重定向。嗯,我在浏览器中粘贴了错误的url并更正了回调,它没有重定向,也正确地返回了jsonp。