我构建了一个通过 AJAX 从外部网站读取数据的应用程序。它工作正常,但我在另一个中发现question https://stackoverflow.com/a/10881561/773263如果我想使用 Webworks 或 Phonegap 将其打包用于 BlackBerry 7,我可能需要使用名为CORS http://www.w3.org/TR/cors/.
除了使用“CORS”之外,如何将以下脚本转换为执行相同的操作?
<script type="text/javascript">
$("#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 = '<div class="data">';
html += '<div data-role="collapsible" data-collapsed="true" data-theme="b"><h3>' + $market.attr('date') + '</h3>';
html += '</div>';
$('#result').append(html).trigger( "create" );
$('#result .loading').remove();
});
});
});
</script>
您可能从其他域名访问该域 (ontariosheep.org),这会将跨域带入投票中。
CORS只是解决这个问题的一种方法,而且它必须是你的服务器来托管data_all.php
需要设置为在响应标头中也具有以下属性:
Access-Control-Allow-Origin: *
或者,您可以使用另一种常见方法,称为JSONP http://en.wikipedia.org/wiki/JSONP.
使用 JSONP 方法,您的调用应如下所示:
var url = "http://ontariosheep.org/mobile/data/data_all.php";
$.get(url + "?callback=?", function(data) {
// your method body
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)