2017-02-14 79 views
-1

所以我有一个股票网站,我希望能够从Google的API或Yahoo的API网站获取JSON信息。我目前正在测试,所以这就是为什么我使用我的控制台日志的替代函数将其打印到我的测试atm的文本框。我似乎无法得到这个工作正常,我看过其他纯JS脚本,但我目前残缺,我已阅读过去的帖子,但他们在答案非常相似,我试图实现。javascript - 获取JSON数组

它使用完全JSON字符串,只用{},在那里我可以访问内部元素。但是,即使访问它,我认为是正确的方式,但似乎并不奏效。而我用其他API尝试了不同的方法,它工作正常....任何人都可以解释?而且我也尝试过使用$ .getJSON

 $.get("http://d.yimg.com/aq/autoc?query=y&region=US&lang=en-US", function(data) { 
      var dropDownHTML; 
      var stock = data.ResultSet.Result; 
      for (var i = 0, len = stock.length ;i<len;i++){ 
      dropDownHTML += '<option value="' + stock[i].symbol + '">' + stock[i].name + '</option>'; 
     } 
     document.getElementById("options").innerHTML = dropDownHTML; 
      }); 
      </script> 

     </div> 

回答

1

问题很简单,就是您从中截取的网站专门阻止了HTTP请求。你需要使用HTTPS连接,而不是:

https://mysafeinfo.com/api/data?list=englishmonarchs&format=json 

此外,你从你的刮返回一个大阵的对象 - 你需要遍历,并记录每个内容对象逐个:

for (var i = 0; i < data.length; i++) { 
    console.log(data); 
} 

我创建了一个小提琴,显示工作刮here

希望这会有所帮助! :)

+0

嗯,它似乎并没有工作。或者至少在我的div上显示?我基本上更新了你给我的东西。 –

+1

它在小提琴中工作 - 这可能是因为你在**之后包含了jQuery **,所以你在上面的例子中尝试使用它。试着将你的jQuery引用移到它上面,看看是否能修复它。另请参阅开发人员工具(F12)中是否有任何错误消息:) –

+1

该死的,你得开玩笑吧。这是问题所在,我的脚本在x.x之下声明。你是MVP。 –