2017-07-04 45 views
0

好吧,经过广泛的网络搜索和几年未能理解文档和寻找替代解决方案,我来找你问我应该如何去解决我的问题。

注:每个AJAX请求都具有唯一的成功功能。

其中一个建议的类似问题是 - How to loop through Ajax Requests inside a JQuery When - Then statment? - 这与我所需要的类似,尽管与我独特的成功回调不兼容?

$.when(

    $.ajax({ 
    url: '/-.json', 
    method: 'get', 
    dataType: "jsonp", 
    complete: function(r) { 

     //my stuff 

    } 
    }), 

    $.ajax({ 
    url: '/-.json', 
    method: 'get', 
    dataType: "jsonp", 
    complete: function(r) { 

     //my stuff 

    } 
    }) 

).then(function() { 

    console.log('leggo'); 

}); 

我根据我的CSS-Tricks article解决方案,但执行console.log是从来没有发射,虽然AJAX请求是。

感谢

+0

如果这些是静态的json资源,它们不太可能被设置为返回'jsonp'。外部数据结构是什么样的?如果他们是远程api调用请确保api服务jsonp。检查浏览器开发工具网络中的实际请求以获取线索 – charlietfl

+0

@charlietfl它不是JSON - 以前我正在提出个别请求等。 –

+0

因此,每个请求使用完全相同的'$ .ajax'工作? – charlietfl

回答

0

答案是dataType,作为@charlietfl建议。我不知道为什么,但是从jsonp改为json就是答案。它们显然比明显的情景用法更加不同。

+0

'jsonp'是一种非常不同的请求类型,它要求返回一个函数,而请求itslef实际上是一个脚本请求,而不是xmlHttpRequest(ajax) – charlietfl