Я пытаюсь отправить асинхронный пост-запрос на мой "сервер" в моем электронном приложении, но функция обратного вызова onreadystatechange
не вызывается после каких-либо изменений. Я подозреваю, что проблема в обработчике события html нажатия кнопки или области видимости переменной xmlHttp
.
const ipcRenderer = require('electron').ipcRenderer;
var xmlHttp = new XMLHttpRequest();
document.getElementById('bttnAddUser').addEventListener('click', () => {
let user = {
firstname: 'name',
lastname: 'name',
username: 'username',
created: Date.now().toString(),
lastLogin: Date.now().toString()
}
xmlHttp.open('POST', 'http:/localhost:3000/add', true);
xmlHttp.setRequestHeader("Content-Type", "application/json");
xmlHttp.onreadystatechange = function() {
// does not get called
console.log('accessed change callback');
console.log(this.readyState + this.status);
if (this.readyState === 4 && this.status === 200) {
ipcRenderer.send('open-new-window', 'index2.html');
}
}
xmlHttp.send(JSON.stringify(user));
});