我正在开发一个网页单页应用,它大量使用ajax请求并在桌面浏览器中正常运行。但是当我把它放在XCode中的cordova包装器中并在模拟器或iPhone上再次运行时,出于某种原因,而不是像http://myhost:3000/api/login
这样的请求,我看到file:///api/login
,显然它失败了。
可能是什么原因?
答案 0 :(得分:0)
PhoneGap应用程序在file:
页面上运行,请求可能是绝对路径/api/login
,因此绝对路径可以解析为file:///api/login
。
我假设您的代码之前在http://myhost:3000
页面上运行,其绝对路径已解析为http://myhost:3000/api/login
。
如果要在PhoneGap中向主机发出请求,则必须在路径中明确指定主机。要允许Ajax访问主机,您可能需要explicitly whitelist它。