【问题标题】:Use multiple URLs with $.getJSON通过 $.getJSON 使用多个 URL
【发布时间】:2013-12-07 12:47:07
【问题描述】:

我有几行代码:

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) {

我也尝试将这两个 URL 分配给同一个变量:

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

很遗憾,我无法从第二个 URL 中提取信息。

谁能帮帮我?谢谢。

【问题讨论】:

  • 你需要使用两个不同的请求
  • 如果你想从两个端点收集 JSON,你必须进行两次单独的调用。
  • 一个请求 = 一个 url

标签: jquery json variables


【解决方案1】:

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

$.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'
});

【讨论】:

    【解决方案2】:

    您需要两个调用,但您可以使用 $.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) {
    
    });
    

    【讨论】:

      猜你喜欢
      • 2017-10-01
      • 2019-01-28
      • 2017-08-18
      • 1970-01-01
      • 1970-01-01
      • 2017-02-04
      • 1970-01-01
      • 1970-01-01
      • 2021-04-02
      相关资源
      最近更新 更多