jQuery无法从服务器加载xml

时间:2012-05-26 12:05:14

标签: jquery xmlhttprequest

我正在尝试根据当地情况加载国家气象服务xml文档。我似乎无法从他们的服务器成功加载文件,但如果我在本地保存文件,它就可以工作。

    $.ajax({
        type: 'GET', 
        url: 'http://www.weather.gov/xml/current_obs/KROC.xml', 
        datatype: 'xml' })
            .done(function(data) { alert("Server: success"); })
            .fail(function(jqXHR, textStatus, errorThrown) { alert("Server: error:"+jqXHR.statusText+' textStatus='+textStatus+', errorThrown='+errorThrown ); })
            .always(function() { alert("Server: complete"); });

那个人给出了一个错误警告:

  

服务器:错误:错误textStatus = error,errorThrown =

但是如果我像这样在本地保存文件:

    $.ajax({
        type: 'GET', 
        url: 'xml/KROC.xml', 
        datatype: 'xml' })
            .done(function(data) { alert("Client: success"); })
            .fail(function(jqXHR, textStatus, errorThrown) { alert("Client: error:"+jqXHR.statusText+' textStatus='+textStatus+', errorThrown='+errorThrown ); })
            .always(function() { alert("Client: complete"); });     

然后成功加载。这让我发疯了。

1 个答案:

答案 0 :(得分:0)

这种方法必须首先解决Ajax程序使用的XMLHttpRequest对象的基本限制:相同的域问题。

出于安全原因,XMLHttpRequest调用只能向发送原始网页的同一服务器发起请求。除非我为国家气象局工作,否则我的服务器不属于他们的域名(www.nws.noaa.gov)。

http://www.ibm.com/developerworks/xml/library/x-xmlajaxpt1/index.html

相关问题