【问题标题】:Reading to JSON URLs with jQuery使用 jQuery 读取 JSON URL
【发布时间】:2022-01-18 09:11:33
【问题描述】:

我需要使用 jQuery 读取 两个 JSON URL,将它们组合在一起,然后继续从 JSON 数据更新我的 UI。

我尝试使用URLAURLB 中的两个URL 和一个全局变量globalDataA

function useBothData(dataB) {
   // use dataB and globalDataA
};

function useDataA (data) {
    globalDataA = data
    $.getJSON (URLB, useBothData);
};

$.getJSON (URLA, useDataA);

这个想法是,在加载第一个 URL 后,我加载第二个,然后使用它们。然而,这似乎永远不会回来。 (我收到 Brwoser 警告“脚本耗时过长”。)

如何安排 jQuery 对两个 URL 的 getJSON 调用(以及它们的成功函数),以便我可以在 finally one 函数中使用它们的数据?

【问题讨论】:

    标签: javascript jquery asynchronous getjson


    【解决方案1】:

    可以使用getJSON的回调函数

    $.getJSON(URLA, useDataA, function(dataB) {
      //useBothData = globalDataA + dataB
    
      $.getJSON(URLB, useBothData, function(result) {
        //do more stuff
      })
    });
    

    【讨论】:

    • 我想,这就是我尝试过的(请参阅我的问题 - 我刚刚将回调定义为命名函数)。 - 不知何故它不起作用。但我又试了一次,现在它确实工作了!所以你肯定是对的。 :-)
    • @halloleo 我认为问题在于 getJSON 函数接受 3 个参数。 URL,您发送到服务器的数据(如帖子),以及最后一个回调函数。而且您只传递了 Url 和函数。请记住,如果您不需要将数据发送到服务器,您可以在第二个参数 $.GetJSON (URLA, null, function (data)
    猜你喜欢
    • 2011-07-02
    • 1970-01-01
    • 2018-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-22
    • 2019-10-31
    相关资源
    最近更新 更多