在jQuery中批量JSONP请求的ReferenceError和Confused响应

时间:2018-01-08 14:10:33

标签: jquery ajax jsonp

我尝试通过jQuery .Ajax()请求一系列jsonp数据。出于某种原因,我必须将选项jsonpCallback设为'parseResponse'。我已经找到了一些奇怪的问题。

当我处理一个jsonp请求时,一切正常。但是当我尝试处理循环发出的一系列jsonp请求时,我发现了两个问题:

  1. 某些请求可以获得正确的响应,而其他请求则无法获得。请求可以成功似乎是随机的。(每次运行脚本的结果都不同)

  2. 每次运行脚本时都会触发一个且只有一个控制台错误(未定义未引用的ReferenceError:parseResponse)。即使循环发出了多个JSONP请求。

  3. 我确定jsonp网址的响应是正确的。我的代码在这里,您可以运行它并查看结果。

    var url = "http://jsfiddle.net/echo/jsonp/";
    
    aj('sigle');
    
    for (var i = 0; i < 8; i++) {
        aj('loop' + i);
    }
    
    function aj(s) {
        $.ajax({
            url : url,
            dataType : 'jsonp',
            jsonpCallback : 'parseResponse',
        }).fail(function(jqXHR) {
            console.log(s + ' - F');
            
        }).done(function(res) {
            console.log(s + ' - S');
            
        });
    }
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

    为什么会这样?任何一种人都可以帮助我? Thankx。

0 个答案:

没有答案