Tabris.js XMLHttpRequests не принимает ответы: readystate 1

У меня есть приложение tabris.js, которое мне нужно для подключения к базе данных SQL. Для этого я решил, что лучшим вариантом будет создать экспресс-REST API, а затем сделать XMLHttpRequests к нему. Когда приложение отправляет запрос, API показывает, что запрос GET выполнен, и даже отвечает с результатом. Я проверил это в браузере и обнаружил, что результат возвращается безупречно. Проблема в том, что состояние готовности XHR никогда не покидает 1 и, следовательно, onload/onreadystatechange никогда не вызывается. В какой-то момент у меня работало это приложение, поэтому я не знаю, что случилось. Ниже я приведу некоторый макет API-кода и код Tabris.js.

API:

router.get('/', function(req, res) {
    res.json({Mock: 'Code'})
})

Tabris:

const xhr = new XMLHttpRequest()

xhr.onload = function() { /* Not called */ }
xhr.onerror = function() { /* Not called */ }
xhr.onabort = function() { /* Not called */ }
xhr.ontimeout = function() { /* Not called */ }

xhr.onreadystatechange = function() {
    switch (xhr.readyState) {
        case 1: console.log('opened, not sent'); break // Called
        case 2: console.log('sent, awaiting response'); break // Not called, even though the API gets the request
        case 3: console.log('response received, downloading'); break // Not called
        case 4: console.log('finished'); break // Not called
    }
}

xhr.open('GET', 'http://ip.ad.dr.ess:port/', true)
xhr.send()

Я должен также добавить, что API выборки не работает для меня, хотя аналогичным образом запрос получен API.

1 ответ

Так что, как оказалось, мой код остался совершенно таким же, он начал работать сегодня утром, когда я вошел. Для тех, кто испытывает ту же проблему, к сожалению, у меня нет твердого ответа для вас, за исключением того, что последнее, что я сделал перед этим начал работать был обновлен табрис. Хотя это не сделало ничего, кроме замены файлов, которые у меня уже были, так как я был обновлен с самого начала. Я также попытался протестировать его на другом веб-сайте, который, казалось, прошел мимо блока, который у него был раньше. Для меня я использовал http://ip.jsontest.com/

Другие вопросы по тегам