1

これが私のtest.jsonファイルです

{
"pageTitle": "Test Page",
"firstName": "Matt"
}

これが私のJSファイルでそれにアクセスする方法です

var jsonObj = {};
var ajaxReq = new XMLHttpRequest();
ajaxReq.overrideMimeType("application/json");
ajaxReq.open('GET', 'path/to/file/test.json', true);
ajaxReq.onreadystatechange = function () 
{
    if (ajaxReq.readyState == 4) 
    {
        jsonObj = ajaxReq.responseText;
        alert(jsonObj.pageTitle);
    }
}
ajaxReq.send(null);

しかし、スクリプトを実行すると、アラートボックスに「未定義」と表示されます。誰かが私がここで間違っていることを教えてもらえますか?私はこれで数時間働いていますが、答えが見つからないようです。助けてくれてありがとう。

4

2 に答える 2

4

プロパティはresponseText、応答テキストを含む文字列を参照します。pageTitleJavaScriptオブジェクトが含まれていないため、プロパティはありません。

JSON.parse文字列はJSON形式であるため、次のメソッドを使用してオブジェクトに簡単に解析できます。

jsonObj = JSON.parse(ajaxReq.responseText);
于 2012-12-25T09:23:04.310 に答える
-1

jsonObj = ajaxReq.responseText;次の行に更新してください、試してみてください!

jsonObj = eval('(' + ajaxReq.responseText + ')');
于 2012-12-25T09:22:43.537 に答える