Javascript AJAX外部URL?
我正在开发一个简单的移动应用程序,可以从XML文件中显示汇率。现在的问题是,我从服务器读取XML,所以我必须将完整的URL放入.ajax中,但它似乎不适用于外部URL。有人能告诉我如何解决这个问题,或者如何替换代码使其正常工作吗Javascript AJAX外部URL?,javascript,jquery,cordova,Javascript,Jquery,Cordova,我正在开发一个简单的移动应用程序,可以从XML文件中显示汇率。现在的问题是,我从服务器读取XML,所以我必须将完整的URL放入.ajax中,但它似乎不适用于外部URL。有人能告诉我如何解决这个问题,或者如何替换代码使其正常工作吗 $(document).ready(function() { $.ajax({ type: "GET", url: "http://www.domain.com/currencies.xml", dataType: "xml", su
$(document).ready(function() {
$.ajax({
type: "GET",
url: "http://www.domain.com/currencies.xml",
dataType: "xml",
success: function(xml) {
$(xml).find('Currency').each(function(){
var Name = $(this).find('Name').text();
var ValueUSD = $(this).find('ValueUSD').text();
var ValueEUR = $(this).find('ValueEUR').text();
var ExValueUSD = $(this).find('ExValueUSD').text();
var ExValueEUR = $(this).find('ExValueEUR').text();
$('#content').append('<div class="currencyBox"><div class="currency">'+Name+'</div><div class="tab1"><div class="half">'+ValueUSD+'</div><div class="half">'+ValueEUR+'</div></div><div class="tab2"><div class="half">'+ExValueUSD+'</div><div class="half">'+ExValueEUR+'</div></div></div>');
});
}
});
});
</script>
$(文档).ready(函数(){
$.ajax({
键入:“获取”,
url:“http://www.domain.com/currencies.xml",
数据类型:“xml”,
成功:函数(xml){
$(xml).find('Currency').each(function(){
var Name=$(this.find('Name').text();
var ValueUSD=$(this).find('ValueUSD').text();
var ValueEUR=$(this.find('ValueEUR').text();
var ExValueUSD=$(this).find('ExValueUSD').text();
var ExValueEUR=$(this.find('ExValueEUR').text();
$(“#内容”)。追加(“”+Name+“”+ValueUSD+“”+ValueEUR+“”+ExValueUSD+“”+ExValueEUR+“”);
});
}
});
});
由于同源策略,Ajax不适用于跨域。在这种情况下试试JSONP。查看关于JSONP的jquery文档。特别是在html5中,有可能进行跨站点请求,但是大多数工具(firebug、noscript、adblock)和一些默认浏览器正在阻塞此类请求。因此,我坚持认为jsonp是最可靠的源代码。您永远无法对不同的域执行ajax请求。您必须编写一些可以调用的服务器端脚本,并让该脚本检索远程文件。如果您从file://协议加载HTML,iOS上的web浏览器、Android和BB将不受同源策略的影响。PhoneGap应用程序经常利用这一事实。