在Google Chrome扩展程序中使用XMLHttpRequest

时间:2010-07-13 14:12:03

标签: javascript xmlhttprequest

我开始在javascript中制作这个简单的谷歌浏览器扩展程序。在代码的开头我有以下内容:

var req = new XMLHttpRequest();

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

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

值req.readyState变为1,表示未正确获取所需页面。我是Javascript的新手。我的代码中有什么问题?

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:1)

在这一行:

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

alert()正在被立即召唤,我相信这不是你的意图。您似乎要等待onreadystatechange事件触发,然后提醒readyState。如果是这种情况,那么试试这个:

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

不要忘记req.send(null)