2017-02-14 72 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。 –