我知道jQuery .load() function有一个“问题”:由于Same Origin Policy,你无法检索当前域之外的页面,但我记得当我开发另一个程序时在PhoneGap编译环境中,我可以毫无问题地进行跨域AJAX,但是它会在PhoneGap(如普通的AJAX)上工作,还是因为策略而失败?
答案 0 :(得分:5)
您可以在PhoneGap应用中使用.load()
或$.ajax()
。我的大部分经验是从应用程序所在的同一域获取信息。打包。例如:
应用。包标识符:
com.my-domain.my-应用
ajax调用的网站域名:
www.my-domain.com
我刚刚在iPhone模拟器中进行了一个简单的测试(通过Xcode),我能够获得个人网络域的内容以及http://www.google.com/。测试如下:
$(document).ready(function () {
$.get('http://www.google.com/', function (data) {
alert(data);
});
});
答案 1 :(得分:2)
我试过这样做,在ipad模拟器上进行测试但它对我没有用,我一直得到跨域的ajax错误(即权限错误)。
我最终发现我需要导航到[projectName] - >支持文件 - > phonegap.plist在外部主机下添加一个值为*或添加您的确切域
的新字符串(来自link感谢Dror'Yitzhakov)。