1

私はこれについてかなり長い間頭を悩ませてきました.xmlhttprequestをGoogleに送信し、対応するデータをコンソールに記録しようとしています. 私のコード:

sendRequest();
function sendRequest()
 {
              var req = new XMLHttpRequest();
req.open(
    "GET",
    "http://www.google.com",
    true);

req.send(null);
console.log(req.responseText);
 }

manifest.json に権限を追加しました。ただし、デバッグすると何も出力されません。ただの空行。ここで何が間違っていますか。

4

3 に答える 3

5

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();
}
于 2012-06-03T19:03:13.107 に答える
3

あなたのエラーは、実際には非同期 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);
}
于 2012-06-03T07:22:29.603 に答える
-1
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);
}
于 2014-12-11T14:11:17.637 に答える