1

我有一个我需要连接到 SQL 数据库的 tabris.js 应用程序。为此,我决定最好的选择是创建一个快速 REST API,然后对其进行 XMLHttpRequests。当应用发出请求时,API 会显示已发出 GET 请求,甚至会返回结果。我在浏览器中对其进行了测试,发现结果完美返回。问题是 XHR 的 readystate 永远不会离开 1,因此永远不会调用 onload/onreadystatechange。有一次我让这个应用程序正常工作,所以我不知道发生了什么。我将在下面包含一些模拟 API 代码和 Tabris.js 代码。

接口:

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

塔布里斯:

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 接收到了类似的请求。

4

1 回答 1

0

事实证明,我的代码完全一样,今天早上我进来时它开始工作。对于遇到同样问题的任何人,不幸的是,除了我之前做的最后一件事之外,我没有可靠的答案给你开始工作已更新 tabris。虽然这只是替换了我已经拥有的文件,因为我是最新的。我还尝试在另一个网站上对其进行测试,该网站似乎使它超越了以前的障碍。对我来说,我使用了http://ip.jsontest.com

于 2017-06-16T13:48:39.507 回答