XMLHTTPRequest onreadystatechange не работает - PullRequest
0 голосов
/ 11 января 2020

Я пытаюсь отправить асинхронный пост-запрос на мой "сервер" в моем электронном приложении, но функция обратного вызова 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));
});
...