2014-09-05 68 views
1

我注意到,在运行下面的ajax函数后,“加载”指示灯继续旋转。我尝试了几个选项,但都没有工作。这发生在所有3种浏览器(IE,Firefox和Chrome)中。我使用了Chrome的“检查元素”,但没有在网络标签上显示。我究竟做错了什么?浏览器在运行使用json的ajax函数后继续加载(加载指示灯继续旋转)

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

<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> 

回答

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); 
    }); 
}); 
+0

我看不出有什么不同。另外,由于SOP,您需要'jsonp'而不是'json'。 – 2014-09-05 05:41:55

+0

感谢您的回应,我尝试了您提供的代码并正确输出了信息,但浏览器的加载指示灯仍在旋转。我正在检查我的原始代码,并在删除了“document.write(name +”“+ name2 +”“+ name3);”浏览器的加载指示器工作正常。是否有另一种打印内容的方式? – speedracer2003 2014-09-05 06:00:13

+0

哦,是的我修改了我的答案,你可以得到它,例如你想获得你可以使用的名字v.Name给它一个尝试或console.log(v)内$ .each – loki9 2014-09-05 06:11:41