我正在尝试通过本地 Ajax 请求加载 PhoneGap 应用程序中的一些内容。它似乎在 iPhone 上工作正常,但 Android 找不到该文件。
事情是这样的:
Ext.Ajax.request({
url: 'file:///android_asset/webapp/content/file.html',
success: function(response, opts) {
console.log('response ' + response.responseText);
}
failure: function(response, opts) {
console.log('response ' + response.responseText);
}
});
我已经调整了Manifest并设置了Internet权限,仍然没有成功。
你有什么想法吗?
最佳答案
在这种情况下我做的第一件事就是摆脱对 Sencha 或 jQuery 等第三方库的依赖,直接使用 XHR。存在一个问题,即从文件协议(protocol)发出请求有时会返回 0 状态,而实际状态为 200。大多数库都已修复此问题,但您永远不知道。试试这个 XHR 代码,它应该在 Android 上运行得很好:
var request = new XMLHttpRequest();
request.open("GET", "file:///android_asset/webapp/content/file.html", true);
request.onreadystatechange = function(){
if (request.readyState == 4) {
if (request.status == 200 || request.status == 0) {
console.log("response " + request.responseText);
}
}
}
request.send();
关于javascript - Android 上的本地 Ajax 请求/Sencha/PhoneGap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10813013/