【问题标题】:Comparing data from 2 jsonp calls比较来自 2 个 jsonp 调用的数据
【发布时间】:2013-02-13 23:11:54
【问题描述】:

我希望能够比较来自 2 个单独的 jsonp 调用的信息。我目前正在使用 $.getJSON 但我也尝试过 $.ajax 但没有运气。我的印象是,问题在于 $.getJSON 调用是异步执行的,这就是问题所在。这就是为什么我尝试了 $.ajax async: false,但它仍然不起作用。我想做这样的事情。

$.getJSON('url1', function(data){ var a = data.information };
$.getJSON('url2', function(data){ var b = data.information };
if(a === b) { whatever };

有没有办法完成我正在寻找的东西?

【问题讨论】:

    标签: jquery jsonp


    【解决方案1】:

    JSONP 本质上总是异步的(即使不是,您仍然应该使用异步版本;async:false万恶之源)。你无法改变这一点。为了完成你想做的事情,你可以使用$.when:

    var requests = [];
    var data1, data2;
    
    requests.push(
        $.getJSON( 'url1', function(data) { data1 = data.information; } )
    );
    requests.push(
        $.getJSON( 'url2', function(data) { data2 = data.information; } )
    );
    
    $.when.apply( $, requests ).then( function( ) {
        if (data1===data2) {
            // do something
        }
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-22
      • 2015-03-22
      • 2021-12-14
      相关资源
      最近更新 更多