jquery jsonp请求没有正确添加回调参数

时间:2014-09-24 20:08:39

标签: 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 : function(responseData){
            console.log( responseData );
        }
    });
});

这样做除了第一个请求没有正确添加回调参数。所有其他请求得到

&callback=jQuery111108732157719514818_1411587984724&_=1411587984725
附加

(或类似),但第一个只是

&true=jsonp&_=1411587984723

所以服务器没有得到回调而只返回json。有人见过jQuery这样做吗?

1 个答案:

答案 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)