使我的jQuery Ajax脚本使用CORS

我构建了一个从外部网站通过AJAX读取数据的应用程序。 它工作正常但我在另一个问题中发现,如果我想将它打包为BlackBerry 7,使用Webworks或Phonegap,我可能需要使用一种叫做CORS的东西。

除了使用“CORS”之外,如何将以下脚本转换为相同的内容?

 $("#page_all").live('pagebeforecreate', function() { $.get('http://mysite.com/mobile/data/data_all.php',function(data){ $('.content').empty(); $(data).find('market').each(function(){ var $market = $(this); var html = '
'; html += '

' + $market.attr('date') + '

'; html += '
'; $('#result').append(html).trigger( "create" ); $('#result .loading').remove(); }); }); });

你可能正在从其他域名进入域名(ontariosheep.org),这会将跨域带入民意调查。

CORS只是解决这个问题的一种方法,它必须是托管data_all.php的服务器,需要将其设置为在响应头中也具有属性:

 Access-Control-Allow-Origin: * 

或者,您可以使用另一种称为JSONP的常用方法。

使用JSONP方法,您调用应该如下所示:

 var url = "http://ontariosheep.org/mobile/data/data_all.php"; $.get(url + "?callback=?", function(data) { // your method body }); 

你可以专门用jquery打开CORS

 $.support.cors = true; 

此外,请确保正确配置窗口小部件配置(config.xml)并添加

  

或至少