0

我想使用 JQuery 和 Ajax 读取从 Drupal 7 生成的 xml 文件。

当我在 url:' ' 中键入 http url 链接时,Ajax 函数不会检索任何数据。

当我将我的 xml 文件键入为本地文件(没有 http url)时,Ajax 功能正常工作。

Ajax 代码如下:

$(document).ready(function () {
    $.ajax({
        type: "GET",
        url: "any http url that contains xml file",
        dataType: "xml",
        success: xmlParser
    });
});

函数 xmlParser(xml) {

$('#load').fadeOut();

$(xml).find("movie-info").each(function () {

    $(".main").append('<div class="book"><div class="title">' + $(this).find("title").text() + '</div><div class="description">' + $(this).find("field_genre").text() + '</div><div class="date">Published ' + $(this).find("field_poster").text() + '</div></div>');
    $(".book").fadeIn(1000);

});  
4

1 回答 1

0

对于跨域 jQuery ajax 调用,您只有 2 个可靠的选项:

1:使用代理脚本在与需要请求xml的页面相同的域上为您发出请求

http://wiki.asp.net/page.aspx/1430/aspnet-proxy-page--used-for-cross-domain-requests-from-ajax-and-javascript/

2:使跨域服务器支持CORS。

http://www.html5rocks.com/en/tutorials/cors/

此外,出于安全考虑,不推荐使用另一种选项(JSON-P),它也不适用于您的情况。

http://www.ibm.com/developerworks/library/wa-aj-jsonp1/

于 2013-08-18T21:08:44.923 回答