使用带有$ .getJSON的多个URL

时间:2013-11-22 15:16:10

标签: jquery json variables

我有几行代码:

var url = 'http://api.spitcast.com/api/spot/forecast/1/';
var url_wind = 'http://api.spitcast.com/api/county/wind/orange-county/';

$.getJSON(url, function (data) {

etc...

我如何将这两个URL都拉入$ .getJSON命令?我认为它会如此简单:

$.getJSON(url, url_wind, function (data) {

我还尝试将这两个网址分配给同一个变量:

var url = ['http://api.spitcast.com/api/spot/forecast/1/','http://api.spitcast.com/api/county/wind/orange-county/'];

不幸的是,我没有运气从第二个网址中提取信息。

有人可以帮帮我吗?感谢。

2 个答案:

答案 0 :(得分:18)

您需要两次通话,但可以使用$.when将它们绑定到同一个done()处理程序:

var url = 'http://api.spitcast.com/api/spot/forecast/1/';
var url_wind = 'http://api.spitcast.com/api/county/wind/orange-county/';

$.when(
    $.getJSON(url),
    $.getJSON(url_wind)
).done(function(result1, result2) {

});

答案 1 :(得分:2)

你不能,使用两个单独的电话:

$.getJSON(url, function (data) {
    $.getJSON(url_wind, function (data2) {
        //do stuff with 'data' and 'data2'
    });    
});

上面的示例将在第一次调用(到url)完成时执行第二次调用(到url_wind)。要并行执行两个调用,请使用$.when(),如下所示:

$.when($.getJSON(url), $.getJSON(url_wind)).done(function(data1, data2) {
    //do stuff with 'data' and 'data2'
});