浏览器在运行使用json的ajax函数后继续加载(加载指示器保持旋转)

时间:2014-09-05 05:08:50

标签: javascript jquery html ajax json

我注意到了#34; loading"指示器在运行下面的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>

1 个答案:

答案 0 :(得分:2)

我修改了你的代码,而不是将成功函数作为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); 
  });
});