【发布时间】:2016-06-09 09:19:12
【问题描述】:
我正在开发一个需要从服务器获取数据的 HTML5 应用程序。为此,我需要使用 Javascript,请参见下面的代码。但无论我做什么,它总是返回 0。它应该使用下面的代码返回一个 403 和正确的 url,或者 404 和错误的 url,它都不做。容器应用程序应允许跨站点脚本。我在 Intel App Preview 中运行了该应用程序。 Windows 10 / Android 5.1.1 Sony Experia Z1 Compact。
我想要它做的是:连接到服务器,给服务器正确的用户名;密码,返回一个数据包,用于应用程序。
测试了这些:
- Wifi 工作
- 与互联网连接一样
- 下面的 jQuery 版本。
var xhr = new XMLHttpRequest();
xhr.open("GET", "https://pageiuse.com", true);
xhr.onload = function(){
if (xhr.readyState == 4) {
if(xhr.status == 200) {
var json_string = xhr.responseText;
var json = JSON.parse(json_string);
toastMessage("Succes!");
} else if(xhr.status == 404) {
toastMessage("404!");
} else {
toastMessage("Error!!! " + xhr.status);
}
} else {
toastMessage("readyState " + xhr.readyState);
}};
xhr.send(null);
欢迎所有帮助,或有关如何调试的建议。
*更新,当我使用 xhr.responseText 时有数据返回,但 xhr.status 保持为 0。一直在研究“Cordova 白名单”,但目前没有什么好转的。
【问题讨论】:
-
'xhr.status === 0' 可能是正确的回归...simonmacdonald.blogspot.nl/2011/12/…
-
将您的 jQuery 更改为 jQuery 2,应该可以解决问题。请参阅此 XDK 常见问题解答 > software.intel.com/en-us/xdk/faqs/…
-
@stackoverflow.com/users/2914328/xmnboy,谢谢链接!看起来这将是恢复 propper 状态的方法。
-
@xmnboy,如果你把它作为一个答案,我会接受它作为正确的答案。
-
抱歉,由于休假,没有看到您的回复请求。看起来您从常见问题解答中找到了您需要的内容。 :)
标签: javascript android html cordova intel-xdk