0

私は、自分の地域の条件に合わせて国立気象サービスの 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=エラー、エラースロー=

しかし、次のようにファイルをローカルに保存すると:

    $.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"); });     

その後、正常にロードされます。それは私を夢中にさせています。

4

1 に答える 1

0

このアプローチでは、最初に、Ajax プログラムで使用される XMLHttpRequest オブジェクトの基本的な制限、つまり同じドメインの問題に取り組む必要があります。

セキュリティ上の理由から、XMLHttpRequest 呼び出しは、元の Web ページを配信した同じサーバーに対してのみ要求を開始できます。私が National Weather Service で働いていない限り、私のサーバーはそのドメイン (www.nws.noaa.gov) の外にあります。

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

于 2012-05-27T19:29:15.873 に答える