为什么在cordova包装的应用程序中,http://请求会变成file:////
Why a http:// request turns to file:/// in a cordova wrapped app?
我正在开发一个web单页应用程序,它大量使用ajax请求并在桌面浏览器中正常工作。但是当我把它放在XCode中的cordova包装器中,并在模拟器或iPhone上再次运行它时,由于某种原因,我看到的不是http://myhost:3000/api/login
这样的请求,而是file:///api/login
,显然它失败了。原因是什么呢?
PhoneGap应用程序运行在file:
页面上,请求可能是绝对路径/api/login
,因此绝对路径解析为file:///api/login
。
我假设你的代码以前在http://myhost:3000
页面上运行,其中绝对路径解析为http://myhost:3000/api/login
。
如果你想在PhoneGap中向主机发出请求,你必须在路径中显式指定主机。要允许Ajax访问主机,可能需要显式地将其列入白名单。
相关文章:
- ajax请求的顺序总是不同的
- Meteor如何接收HTTP请求
- 有没有一种方法可以防止img get请求使用css或js发生
- 从ajax请求中获取javascript对象
- 正在将base64 jpeg从input-type=file上传到服务器
- JSONP请求返回结果,但也触发error_callback
- 在localhost Dev Box上测试JSONP请求的最佳方式
- Ajax请求文档就绪会导致jquery加载缓慢
- MockJax没有在JavaScript应用程序中发送对我AJAX请求的响应
- 正在传递JSONP标头's数据参数到另一个文件中的AJAX请求
- 在openshift node js应用程序中获取请求
- 反应路由器弄乱了请求网址
- 在我的情况下,如何进行http请求
- 使用密码对话框Javascript请求帮助
- 是否可以在ajax请求(JavaScript)中使用File类(Java)
- jQuery File Upload插件如何将文件上传到服务器——每个文件都在一个POST请求中,或者全部在一个请求中
- SailsJS: POST请求在调用req.param()和req.file()时无法正确解析
- 为什么在cordova包装的应用程序中,http://请求会变成file:////
- 使用valums-file-uploader可以在一个请求中上传1个以上的图像
- JSON请求不工作:file:// URL不支持跨域请求