javascript
  • json
  • 2016-04-01 14 views 2 likes 
    2

    更新:javascript json URLからの解析

    URLからの応答を解析しようとしていますが、正しく動作しているかどうかはわかりません。私はVARをnewText = xhttp.responseTextを交換する場合

    {"make":"truck","date":"23 July 2009","colour":"pink"}; 
    

    ;:

    URLは以下のJSONを返します。

    var newtext = '{"make": "トラック"、 "日付": "2009年7月23日"、 "色": "ピンク"}';

    これは動作しますが、xhttp.responseTextに戻ったらすぐに空白のページが表示されます。

    私が使用しているコードは次のとおりです。

    <!DOCTYPE html> 
    <html> 
    
    <body> 
        <p id="demo"></p> 
        <script> 
        xhttp.open("GET", "https://url.com", false); 
        xhttp.send(); 
    
        var newtext = xhttp.responseText; 
    
        var obj = JSON.parse(newtext); 
    
        document.getElementById("demo").innerHTML = 
        obj.make + "<br>" + 
        obj.colour + "<br>" + 
        obj.date; 
        </script> 
    </body> 
    
    </html> 
    
    +1

    からコピーされたのですか? – jonhopkins

    +0

    あなたの応答はすでにJSONです、なぜあなたは再びそれを解析していますか?解析することなくそのまま使用してください。 –

    +0

    @SindhooOad JSONが 'xhttp.responseText'から取得されているので、JSON形式の文字列であり、解析する必要があることは間違いありません。 – jonhopkins

    答えて

    0

    あなたの変数xhttpを定義していないが、あなたはそれに関数を呼び出すしようとしています。これにより、Uncaught ReferenceErrorエラーが発生し、残りのコードが実行されなくなります。あなたがしようとしているようにXMLHttpRequestオブジェクトを作成するには、これをスクリプトの一番上に置きます。

    var xhttp; 
    if (window.XMLHttpRequest) { 
        xhttp = new XMLHttpRequest(); 
    } else { 
        // code for IE6, IE5 
        xhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
    
    // the object actually exists here now so the functions can be called on it 
    xhttp.open("GET", "https://url.com", false); 
    xhttp.send(); 
    ... 
    

    次に、あなたのコードの残りの部分を続行することができ、あなたのxhttpオブジェクトが初期化されていることを保証しました。

    私は正常にW3Schoolsのを使用することはお勧めしませんが、上記のコードは、あなたがそれを実行したときに何が起こるhttp://www.w3schools.com/ajax/ajax_xmlhttprequest_create.asp

    +0

    いいね、ありがとう、私はそれを行くだろう – NewToCode

    関連する問題