我一直在打破这个问题已经有一段时间了。我正在尝试向google发送xmlhttprequest并将相应的数据记录到我的控制台中。 我的代码:
sendRequest();
function sendRequest()
{
var req = new XMLHttpRequest();
req.open(
"GET",
"http://www.google.com",
true);
req.send(null);
console.log(req.responseText);
}
我在manifest.json中添加了权限。但是,当我调试它什么都不打印。只是一个空行。我在这做错了什么。
答案 0 :(得分:6)
Dmitri Sorin的答案会很好。这是一个更普遍的版本:
sendRequest('http://www.google.com/', function (response) {
alert('My request returned this: ' + response);
});
function sendRequest(url, callback) {
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function () {
if (xhr.readyState == 4) {
callback(xhr.responseText);
}
};
xhr.open("GET", url, true);
xhr.send();
}
答案 1 :(得分:4)
您的错误实际上是您将异步XMLHttpRequest函数视为同步。当您调用console.log时,Google没有回复。您的代码应如下所示:
sendRequest();
function sendRequest() {
var req = new XMLHttpRequest();
req.open("GET", "http://www.google.com", true);
req.addEventListener("load", function(e) {
console.log(req.responseText);
}, false)
req.send(null);
}
答案 2 :(得分:0)
sendRequest();
function sendRequest() {
var req = new XMLHttpRequest();
req.open("GET", "http://www.google.com", false );// set the third argument to false
req.send(null);
console.log(req.responseText);
}