【问题标题】:Browser keeps loading ( Loading indicator keeps spinning) after running ajax function that uses json运行使用 json 的 ajax 函数后,浏览器继续加载(加载指示器保持旋转)
【发布时间】:2014-10-29 23:56:52
【问题描述】:

我注意到运行下面的 ajax 函数后“加载”指示器一直在旋转。我尝试了几种选择,但都没有奏效。这发生在所有 3 种浏览器(IE、Firefox 和 Chrome)中。我使用了 Chrome 中的“检查元素”,但网络选项卡上没有显示任何内容。我究竟做错了什么?

另外,您可能会注意到,我尝试循环打印所有项目,但没有成功。如果有人能告诉我如何编写一个循环来打印这些信息,我将不胜感激。感谢您的宝贵时间。

<html>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
    <script>
        $.ajax({
            url: 'http://api.wmata.com/Rail.svc/json/JStations?LineCode=GR&api_key=kfgpmgvfgacx98de9q3xazww',
            dataType: 'jsonp',
            async: false,
            timeout: 5,
            success: function(data){
                // $.each(data, function() {
                // $.each(this, function(key,value){ 
                // alert (key);
                //})
                // $.each(data, function(i,v){
                //$('#div_id').append(v.Stations.Address.City); }
                var name = data.Stations[0].Address.City;
                var name2 = data.Stations[0].Code;
                var name3 = data.Stations[0].Name;

                document.write(name+" "+name2+" "+name3);
            }
        });
    </script>
</html>

【问题讨论】:

    标签: javascript jquery html ajax json


    【解决方案1】:

    我修改了你的代码,而不是让成功函数成为 ajax 的属性,而是像这样将它绑定到 ajax 本身。

    $.ajax({
      url: 'http://api.wmata.com/Rail.svc/json/JStations?LineCode=GR&api_key=kfgpmgvfgacx98de9q3xazww',
      dataType: 'jsonp',
      async: false,
      timeout: 5,
    }).success(function(data){
      $.each(data.Stations, function(i,v){
        $('body').append(' '+v.Address.City); 
      });
    }); 
    

    【讨论】:

    • 我不明白这有什么不同。此外,由于 SOP,您需要 jsonp 而不是 json
    • 感谢您的回复,我尝试了您提供的代码并且信息打印正确,但浏览器的加载指示器一直在旋转。我正在查看我的原始代码,在我删除了 "document.write(name+" "+name2+" "+name3);" 行之后浏览器的加载指示器工作正常。还有其他方法可以打印出内容吗?
    • 哦,是的,我修改了我的答案,你可以得到它,例如你想得到你可以使用的名字 v.Name 试一试或 $.each 中的 console.log(v)跨度>
    • 太棒了!非常感谢 =) 我试图投票赞成你的回复,但它说“投票需要 15 名声望”不知道这意味着什么。再次感谢 =)
    猜你喜欢
    • 2015-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-27
    • 2017-06-11
    • 2012-04-10
    • 2020-01-25
    • 1970-01-01
    相关资源
    最近更新 更多