Я начал делать это простое расширение google chrome на 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
thameera 13 Июл 2010 в 18:12

2 ответа

Лучший ответ

Как насчет чего-то вроде этого

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.

3
x20mar 13 Июл 2010 в 14:22

В этой строке:

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

alert() вызывается немедленно, а я уверен, что это не ваше намерение. Похоже, вы хотите дождаться срабатывания события onreadystatechange, а затем предупредить readyState. Если это так, попробуйте следующее:

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

И не забудьте req.send(null)!

1
James 13 Июл 2010 в 14:15