为什么http://请求在cordova包装应用程序中转为file:///?

时间:2013-06-06 16:06:56

标签: javascript html cordova

我正在开发一个网页单页应用,它大量使用ajax请求并在桌面浏览器中正常运行。但是当我把它放在XCode中的cordova包装器中并在模拟器或iPhone上再次运行时,出于某种原因,而不是像http://myhost:3000/api/login这样的请求,我看到file:///api/login,显然它失败了。 可能是什么原因?

1 个答案:

答案 0 :(得分:0)

PhoneGap应用程序在file:页面上运行,请求可能是绝对路径/api/login,因此绝对路径可以解析为file:///api/login

我假设您的代码之前在http://myhost:3000页面上运行,其绝对路径已解析为http://myhost:3000/api/login

如果要在PhoneGap中向主机发出请求,则必须在路径中明确指定主机。要允许Ajax访问主机,您可能需要explicitly whitelist它。

相关问题