2010-07-13 51 views
2

我開始在javascript中使用這個簡單的Google Chrome擴展。而在代碼的開始,我有以下幾點:在谷歌瀏覽器擴展中使用XMLHttpRequest

var req = new XMLHttpRequest(); 

req.open(
    "GET", 
    "http://www.ldoceonline.com/dictionary/manga", 
    true); 

req.onreadystatechange(alert(req.readyState)); 

值req.readyState來是1,這意味着所需的頁面沒有被正確獲取。我是Javascript的新手。我的代碼中有什麼問題?

回答

3

如何對這樣的事情

var request = new XMLHttpRequest(); 

if (request == null){ 
     alert("Unable to create request"); 
    }else{ 

     var url = "http://www.ldoceonline.com/dictionary/manga"; 

     request.onreadystatechange = function() 
      { 
      if(request.readyState == 4) 
      { 
       LDResponse(request.responseText); 
      } 
     } 

     request.open("GET", url, true); 
     request.send(null); 
    } 

function LDResponse(response) 
{ 
// do stuff with the response 
} 

當然這都是假設他們給你有效數據傳輸回即XML或JSON

+0

謝謝,它的工作! – thameera 2010-07-13 16:10:14

1

在此行中:

req.onreadystatechange(alert(req.readyState)); 

alert()被稱爲馬上,我敢肯定,是不是你的意圖。看起來你想等待onreadystatechange事件觸發,然後提醒readyState。如果是這樣的話,試試這個:

req.onreadystatechange = function() { 
    alert(req.readyState); 
}; 

而且別忘了req.send(null)