Ajax請求我在我的網頁下面的JavaScript:到不同的主機
var xhr = new XMLHttpRequest();
xhr.open('GET', 'http://www.google.com', true);
xhr.onreadystatechange = function() {
if (xhr.readyState == 4) {
alert('resp received, status:' + xhr.status + ', responseText: ' + xhr.responseText);
}
};
xhr.send(null);
這個執行並完成W/A的readyState的4,0狀態,而空的responseText和responseXML的。我知道它實際上正在發送請求b/c我試圖將xhr發送到我的機器上的服務器,並且服務器確實響應。爲什麼我沒有在responseText中獲取任何內容?它有什麼事情要做/這個事實xhr是要去一個不同的服務器?
當我打開了JS調試器,鍵入「XHR」檢查我得到這個對象:
XMLHttpRequest
DONE: 4
HEADERS_RECEIVED: 2
LOADING: 3
OPENED: 1
UNSENT: 0
abort: function abort() {
addEventListener: function addEventListener() {
dispatchEvent: function dispatchEvent() {
getAllResponseHeaders: function getAllResponseHeaders() {
getResponseHeader: function getResponseHeader() {
onabort: null
onerror: null
onload: null
onloadstart: null
onprogress: null
onreadystatechange: function() {
open: function open() {
overrideMimeType: function overrideMimeType() {
readyState: 4
removeEventListener: function removeEventListener() {
responseText: ""
responseXML: null
send: function send() {
setRequestHeader: function setRequestHeader() {
status: 0
statusText: ""
upload: XMLHttpRequestUpload
withCredentials: false
+1一個有效的非常簡單的代理。我使用CURL在PHP中編寫了其中的一個。 – tgandrews