2010-07-13 237 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)