2017-04-09 3 views
0

開始値としてValue = "AUD"を使用して通貨の値を入力しようとしています。 JSONとAJAXの新機能です。私はJSON.parseとXMLHttpRequestに404エラーがリンクされている理由を理解できません。どこに間違っているのかアドバイスをいただければ幸いです。前もって感謝します。JSONデータからAJAXを使用したHTML

`enter code here` 
<html lang="en"> 
    <head> 
</head> 
<body> 
<div id ="forex-info"> 
<p id="currencyList" class="currencyList" value ="AUD">Australia</p> 
    <p id="rateList" class="event"></p> 
</div 
<script type="text/javascript"> 
var tableContainer = document.getElementById("forex-info"); 
var ourRequest = new XMLHttpRequest(); 
var myData = "http://api.fixer.io/latest".rates; 
ourRequest.open('GET', myData, true); 
ourRequest.onload = function loading() { 
    var ourData = JSON.parse(ourRequest.responseText); 
    renderHTML(ourData); 
    function renderHTML(data) { 
     var output = ""; 
     for (var key in data) 
     { 
      output += "<p>" + key + output + "</p>" 
     } 
} 
}; 
</script> 
</body> 

+0

myData変数をチェックしてみてください。 – Johnny

+0

このコードには多くの間違いがあります – KornholioBeavis

答えて

0

主な問題は、あなたがそこのparamsは、アドレスまたはクエリのparamsを持つことにより、RESTエンドポイントを呼び出す方法をあなたのAPIを呼び出す "http://api.fixer.io/latest" .rates です。

指定したエンドポイントを呼び出す以下の例を参照してください。それはあなたを始めなければならないでしょう

var myData = 'https://api.fixer.io/latest' 

var xhttp = new XMLHttpRequest(); 
xhttp.onreadystatechange = function() { 
    if (this.readyState == 4 && this.status == 200) { 
      let res = JSON.parse(xhttp.responseText) 
      Object.keys(res.rates).forEach((e)=>{ 
       console.log(`${e}: ${res.rates[e]}`) 
       //Add your stuff here 
      }) 
    } 
}; 

xhttp.open("GET", myData, true); 
xhttp.send(); 
+0

ありがとうございます。これは今働いています!私はforEachループ/ console.log()がjQueryを使用していると思っていますか? –

+0

あなたがes6文字列テンプレート構文 '$ {e}:$ {res.rates [e]}'を参照している場合、jqueryはありません。 あなたの質問に答えた場合、答えを正しいとマークしてください。 – KornholioBeavis

+0

$ {e}:$ {res.rates [e]}はe + ':' + res.rates [e]に相当します – KornholioBeavis

関連する問題