2016-11-10 9 views
1

私はnoSQLデータベースから文字列を解析しようとしています。苦労して。HttpRequestからjson/XMLへの文字列の解析

[{"timestamp":"2016-11-07T09:48:30.335Z","Id":"d7ee735f16b5"}, 
{"timestamp":"2016-11-07T09:48:29.015Z","Id":"d7ee735f16b5"},  
{"timestamp":"2016-11-07T09:48:27.688Z","Id":"d7ee735f16b5"}, 
{"timestamp":"2016-11-07T09:48:27.085Z","Id":"d7ee735f16b5"}, 
{"timestamp":"2016-11-07T09:48:26.577Z","Id":"d7ee735f16b5"}] 

同じ結果がコンソールのネットワークに与えられている:あなたはPHPファイルにアクセスするとき それは、このような結果を与えます。

応答を文字列化しようとすると、nullが表示されます。

私はタイムスタンプの値にアクセスするのを手伝ってください。現在のコードは次のとおりです。

var ajax = new XMLHttpRequest(); 
ajax.open("GET", url, true); 
ajax.responseType = 'json'; 
ajax.send(); 
var jsonResponse = JSON.stringify(ajax.response); 
document.getElementById('demo').innerHTML = jsonResponse; 

答えて

0

この例では、ほとんどの場合、応答はサーバーから返されていません。また、idというデモの要素が実際にあなたのhtml文書に存在することを確認してください。

Ajaxオブジェクトにイベントリスナーを追加します。

ajax.onload = loadCompleted; 
ajax.onerror = onLoadError; 

は、結果を処理するための関数を作成します。

var jsonResponse = JSON.stringify(ajax.response); 
document.getElementById('demo').innerHTML = jsonResponse; 

全例(Bozidarのコメントごとに更新):

var url = 'https://jsonplaceholder.typicode.com/posts/1'; 

function loadCompleted() { 
    console.log(ajax.response) 
    var jsonResponse = JSON.stringify(ajax.response); 
    document.getElementById('demo').innerHTML = jsonResponse; 
} 

function onLoadError() { 
    //handle error logic 
} 

var ajax = new XMLHttpRequest(); 
ajax.onload = loadCompleted; 
ajax.onerror = onLoadError; 
ajax.open("GET", url, true); 
ajax.responseType = 'json'; 
ajax.send(); 

実例はhttps://jsfiddle.net/px3mxa4n/を参照してください。

+0

... –

+0

完全に働いています:ような何か。あなたに感謝します。 –

+1

ありがとう@BozidarSikanjic。 onloadとonerrorを使用するようにコードを更新しました。これらのより明示的かつ明示的な意図は少し良くなりました。 – axlj

0

あなたのコードを続行する前に応答を待つべきではないですか?イベントリスナーのための必要はありませんので、あなたはXMLHttpRequestオブジェクトの一部として「readyStateの」VARを持って

ajax.onreadystatechange = function() { 
    if(ajax.readyState == 4 && ajax.status == 200) { 
     // do what you need like 
     var jsonResponse = JSON.stringify(ajax.response); // maybe JSON.parse and then iterate trough array of objects to create individual HTML elements? 
     // ....... 
    } 
}