У меня есть следующий 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);
это выполняется и завершается с готовым состоянием 4, состоянием 0 и пустыми responseText и responseXML. я знаю, что это на самом деле отправка запроса b / c, я попытался отправить xhr на сервер на моей машине, и сервер на самом деле отвечает. почему я не получаю ничего в тексте ответа? Есть ли что-то делать с тем фактом, что Xhr собирается на другой сервер?
когда я открываю отладчик js и набираю 'xhr', чтобы проверить объект, я получаю это:
XMLHttpRequest
СОВЕРШЕНО: 4
HEADERS_RECEIVED: 2
ЗАГРУЗКА: 3
ОТКРЫТО: 1
НЕ ОТПРАВЛЕНО: 0
abort: функция abort () {
addEventListener: function addEventListener () {
dispatchEvent: функция dispatchEvent () {
getAllResponseHeaders: function getAllResponseHeaders () {
getResponseHeader: функция getResponseHeader () {
onabort: ноль
ошибка: ноль
нагрузка: ноль
onloadstart: null
onprogress: null
onreadystatechange: function () {
open: функция open () {
overrideMimeType: функция overrideMimeType () {
readyState: 4
removeEventListener: функция removeEventListener () {
responseText: ""
responseXML: null
send: function send () {
setRequestHeader: функция setRequestHeader () {
статус: 0
statusText: ""
загрузить: XMLHttpRequestUpload
withCredentials: false