function callOtherDomain() {
var invocation = new XMLHttpRequest();
var username = "usr";
var password = "pass";
var url = 'https://someurl';
invocation.open('GET', url, true, username,password);
console.log(this.responseText);
invocation.send();
}
Я не могу получить ответ, работая на код выше«this.response» не печатает в консоли
Должно ли это быть console.log (invocation.response)? –
«Во-вторых, поскольку это ответ на запрос, ничего не будет, прежде чем запрос будет отправлен». Не знаю, что стоит за вызовом, но мы можем себе представить, чем открывать, фактически вернем обещание. Знаете ли вы, что происходит за этим? Если это тоже обещание, тогда вы должны сделать что-то вроде invocation.open(). Then (function() {console.log ([this, invocation] .response);}) В зависимости от вашей реализации можно вызвать обратный вызов с определенным этим (сквозной вызов или применить), и это будет относиться к самому объекту-вызову. – Nico
@xyzsfdc Для начала, да. Но так как запрос * асинхронный *, на самом деле ничего не будет печатать до тех пор, пока запрос не будет выполнен. Если вы измените его, чтобы сделать его синхронным, вы можете распечатать его после вызова 'send', иначе вы должны сделать это в функции обработчика. –