请问jQuery .load()在PhoneGap上工作吗?

时间:2011-08-23 00:09:16

标签: jquery cordova cross-domain same-origin-policy

我知道jQuery .load() function有一个“问题”:由于Same Origin Policy,你无法检索当前域之外的页面,但我记得当我开发另一个程序时在PhoneGap编译环境中,我可以毫无问题地进行跨域AJAX,但是它会在PhoneGap(如普通的AJAX)上工作,还是因为策略而失败?

2 个答案:

答案 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)。