获取url:xml为什么外部URL不起作用

时间:2009-08-06 17:19:30

标签: jquery

我正在尝试使用以下代码从外部xml获取信息。它只在我将同一文件上传到我的服务器时才有效。为什么我无法从外部网址获取信息?

<script language="javascript">
// This script uses jQuery to retrieve the news XML file and display the contents
$(document).ready(function(){

    $.ajax({
        type: "GET",
        url: "www.simplyprofound.com/samples/xml_jquery/sample.xml",
        dataType: "xml",
        success: function(xml) {
            $(xml).find('item').each(function(){
                var title = $(this).find('title').text();
                var source = $(this).find('source').text();
                var description = $(this).find('description').text();
                $('<div class="news_title"></div>').html(title).appendTo('#news_wrap');
                $('<div class="news_source"></div>').html(source).appendTo('#news_wrap');
                $('<div class="news_description"></div>').html(description).appendTo('#news_wrap');
            });
        }
    });
});
</script>

3 个答案:

答案 0 :(得分:0)

http://放在您的网址前面,如下所示:

http://www.simplyprofound.com/samples/xml_jquery/sample.xml

否则,它会尝试在您的网站名为sample.xml的目录中查找名为/www.simplyprofound.com/samples/xml_jquery/的文件。

答案 1 :(得分:0)

我相信这是因为jQuery AJAX的东西使用XMLHTTPRequest(与大多数人一样),它不允许您向不属于您自己的域(作为安全功能)发出请求。

答案 2 :(得分:0)

您无法执行x-domain xhr请求。您可以使用服务器端代理,因此您可以对服务器上的页面进行ajax调用,该页面将生成远程请求并响应文件内容,或者如果端点支持json-p,则可以将dataType设置为jsonp并请求数据。