一些信息 - 我正在創建一個自動完成,它從json訂閱源獲取數據。 JSON部分工作正常,結果是有效的。如何在沒有jQuery的情況下解析JSON
當我獲得它時,我使用json2.js並運行JSON.parse。當我嘗試輸出時,它告訴我它(包含解析的JSON文本的對象)實際上是未定義的。
如果我運行對象的警報,然後輸出它的作品。這可能很簡單。但是,這是混亂,因爲它工作正常,如果我提醒對象
我知道它不會在一切工作,我只是想讓它現在工作,我會改進它。
謝謝,如果有任何更多的信息,我可以提供我會的。
代碼
//sURL takes a search term that's passed into the function
var JSON_object = {};
var oRequest = new XMLHttpRequest();
var sURL = "datalinkhere"+input.value;
oRequest.open("GET",sURL,true);
oRequest.setRequestHeader("User-Agent",navigator.userAgent);
oRequest.onreadystatechange = function() {
if (oRequest.readyState == 4 && oRequest.status == 200)
{
JSON_object = JSON.parse(oRequest.responseText);
}
};
oRequest.send(null);
suggestion(JSON_object,input);
function suggestion(inp,targetid)
{
document.getElementById('autosuggest').style.display='block';
document.getElementById('autosuggest').innerHTML=inp[1].namefield;
}
順便說一下,狀態不僅可以是200.例如,如果數據將從本地緩存中獲取,並且服務器會確認數據未發生更改,則可以修改值304(未修改)(參見10.3。 5 http://www.ietf.org/rfc/rfc2616)。 – Oleg 2010-09-08 11:11:06