AJAX外部URL?

时间:2011-12-13 14:47:44

标签: javascript jquery cordova

我正在开发一个简单的移动应用程序,它显示XML文件的货币汇率。现在,问题是我从服务器读取XML,所以我必须将完整的URL放在.ajax中,但它似乎不适用于外部URL。有人能告诉我如何解决这个问题或如何更换代码以便它能够正常工作?

$(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> 

2 个答案:

答案 0 :(得分:2)

查看关于jsonp的jquery文档。有可能在html5中进行跨站点请求,但是大多数工具(firebug,noscript,adblock)和默认情况下的一些浏览器都是这样的请求。所以我会坚持把jsonp作为最可靠的来源。

答案 1 :(得分:0)

Ajax由于原始策略相同,不适用于跨域。在这种情况下尝试JSONP。