【问题标题】:jQuery: Loading ajax URL as variable?jQuery:将ajax URL作为变量加载?
【发布时间】:2010-12-13 05:17:34
【问题描述】:

过去我一直使用getJson函数中的回调函数来处理获取的数据,但是由于我想将获取的数据保存为变量,以防止再次被获取,我已经运行了对于一些奇怪的问题。尝试以下代码时,我开始在 firebug 中收到此错误; Permission denied for <http://localhost> to get property XMLHttpRequest.channel

在没有回调函数的情况下尝试这样做是不是做错了?

function fetch(){
    var returndata = $.getJSON( 'http://localhost/api/get/1' );

    formatDataset(returndata);
}

function formatDataset(data){
    var row = '';

    $.each(data, function(){
        row += this.name + '<br>';
    });

    $('#myDiv').html(row);
}

【问题讨论】:

  • 我不相信我,我建议修复正确,开玩笑的。

标签: jquery ajax json firebug


【解决方案1】:

你的代码有问题

var returndata = $.getJSON( 'http://localhost/api/get/1' );

ajax 是异步调用,所以它会启动进程并继续,你不能使用它作为返回类型。

如果你想把事情做好,在成功处理程序oof getjson中编写代码

【讨论】:

    【解决方案2】:

    是的,您在询问回调的问题中是正确的。 $.getJSON 函数返回 XMLHttpRequest 而不是数据。所以试试类似的东西:

    var returndata;
    function fetch(){
        if (!returndata) {
            $.getJSON( 'http://localhost/api/get/1', function(data) {
                returndata = data; 
                formatDataset(returndata);
            });
            return;
        }
        formatDataset(returndata);
     }
    

    【讨论】:

      猜你喜欢
      • 2013-10-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多