Cordova应用程序在Android上的所有XMLHttpRequest都得到404
Cordova app is getting 404 for all XMLHttpRequests on Android
这是人们常见的问题,但StackOverflow上的所有解决方案似乎都集中在安装cordova-plugin-whitelist
上,在上添加了一些变体
<access origin="*" />
<allow-intent href="*" />
<allow-navigation href="*" />
到config.xml
,并添加类似的内容
<meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval' *">
到您的index.html
文件。我试过所有这些东西,但仍然没有运气。真正令人沮丧的是,我在以前的一个项目中工作过,这些东西确实可以作为解决方案,但在新项目中使用相同的配置是行不通的。
我100%确信请求的URL响应正确。即使当我点击Chrome开发人员检查器中404错误的URL时,它也会返回正确的内容。当你搜索这个问题时,你一遍又一遍地看到的答案中有没有什么可以尝试的?
编辑:
作为对第一条评论的回应,这是javascript代码:
var xhr = new XMLHttpRequest();
xhr.open("POST", "http://example.com/endpoint");
xhr.onload = success_callback;
xhr.onerror = error_callback;
xhr.send(content);
当我在桌面浏览器中加载时,这个完全相同的代码运行良好,404只出现在cordova应用程序中。代码中没有区别,只是我运行cordova build browser
和运行cordova build android
。
有一次我遇到了这种情况。
列出所有已安装的插件:cordova plugin list
我所要做的就是删除插件:cordova plugin remove <PLUGIN_NAME>
(在这种情况下cordova插件白名单)
然后再次添加:cordova plugin add cordova-plugin-whitelist
相关文章:
- XMLHttpRequest未返回值-状态202
- XMLHttpRequest在移动设备上的chrome上不起作用
- AJAX简单错误.XMLHttpRequest无法加载http://localhost/mpl/getPage.php.
- 检查xmlhttprequest问题的消息
- 主线程上的同步XMLHttpRequest已弃用
- 如何定期发出xmlhttprequest
- javascript第三个XMLHttpRequest被拒绝.但前两个是允许的
- 上传带有XMLHttprequest的文件-多部分/表单数据中缺少边界
- 对象#<XMLHttpRequest>没有方法'完成'
- 在XMLHttpRequest之后重新初始化jQuery
- 如何将GreaseMonkey中的XMLHttpRequest延迟到目标页面加载完成
- Javascript XMLHttpRequest——只有第一个POST请求有效
- XMLHttpRequest - difference between Chrome & Firefox
- IE上的新XMLHttpRequest()出现JS Ajax未指定错误
- 非常简单的XMLHttpRequest不起作用
- 如何使用XMLHttpRequest下载文件
- XMLHttpRequest在$.ajax工作的地方给出了CORS错误
- XMLHttpRequest.open()AJAX中的参数url
- XMLHTTPRequest脚本中没有internet连接和超时
- 为什么当async标志设置为false时,xmlhttprequest中的代码可以工作,而当它设置为true时却不能工作