Я переключаю запросы от сценария содержимого к фоновому сценарию, и код идентичен, но каким-то образом запрос XMLHttpRequest не позволяет мне войти в систему.
Моя цель - войти в систему пользователя и изменить его пароль - для этого требуется 2 запроса POST. Второй сбой.
Я, честно говоря, не знаю, что делать, и совершенно потерян.
Фоновый скрипт:
chrome.runtime.onMessage.addListener(function(message, sender, sendResponse) {
// FIRST REQUEST
var loginRequest = new XMLHttpRequest();
loginRequest.open("POST", "https://.../login.php", true);
loginRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
loginRequest.send("user credentials...");
loginRequest.onload = function() {
// SECOND REQUEST
var changeRequest = new XMLHttpRequest();
changeRequest.open("POST", "https://.../changePassword", true);
changeRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
changeRequest.send("old pass... new pass...");
changeRequest.onload = function() {
// ISSUE: changeRequest.responseURL is back at the login page? WHY?
if (changeRequest.responseText.includes("Password successfully changed!")) {
sendResponse({passwordChanged: true});
} else {
sendResponse({passwordChanged: false});
}
}
}
return true;
});
ОБРАТИТЕ ВНИМАНИЕ: Этот код прекрасно работает в скрипте содержимого!