【问题标题】:Tabris.js XMLHttpRequests not accepting responses: readystate 1Tabris.js XMLHttpRequests 不接受响应:readystate 1
【发布时间】:2017-11-18 04:24:18
【问题描述】:

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

API:

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

【问题讨论】:

  • 能否打印收到的请求标头?
  • Access-Control-Allow-Origin:*, Connection:keep-alive, Date:(date), X-Powered-By:Express
  • 是否有可能您正在访问本地服务器并且该端口未打开以从外部连接?即使您使用的是本地网络 ip (192.168....),您仍然需要打开一个端口才能从同一网络上的手机或模拟器连接到该服务器。
  • 是的,就像我说的,我可以从这个端口上的浏览器连接到这个服务器
  • 您使用哪个版本的 Tabris.js?该框架正在接近 2.0 版本,如果您使用 nightly,引擎盖下的一些更改将需要本机客户端和 npm 模块的完全相同版本。如果您从一天开始使用 npm 模块而另一天使用客户端,则可能会导致这些问题。所以更新总是首先要尝试的。

标签: javascript node.js xmlhttprequest tabris tabris-js


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-11-26
    • 2016-12-19
    • 1970-01-01
    • 1970-01-01
    • 2016-08-16
    • 2014-09-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多