web-dev-qa-db-ja.com

ローカルファイルシステムからのjQueryAjaxリクエスト(Windows file:///)

Windows WampServerで実行されている"http://localhost/"のコンテンツを取得するためにajaxリクエストを実行しようとしています。

スクリプトは次のようなものから実行されています。

file:///C:/my/path/index.html

標準の$ .ajaxリクエストを使用して、localhostのコンテンツを取得しようとしています。

$.ajax({
          type: 'GET', 
          url: 'http://localhost/',
          success: function(data) {
            alert('success');
          }, error: function (data) {
            alert('failed');
          }
    });

しかし、成功させることはできません...ローカルファイルシステムなどに問題があるようです。よくわかりません。

11
Emmanuel

問題が解決しました!

このヘッダーをindex.phpファイルに追加する必要がありました http:// localhost /

header('Access-Control-Allow-Origin: *');

とにかくみんな助けてくれてありがとう!

15
Emmanuel

スクリプトがfile:///URLから実行されていると言います。 AJAX file URLからのリクエストは、一貫性のない処理が行われるため、実行しないことをお勧めします。たとえば、Chromeでは完全に禁止されています。

ただし、ここでのより大きな問題は同じです-Originポリシー:Webページ自体と同じホストに対してのみAJAXリクエストを行うことができます。file:///http://localhostnot同じホスト(同じマシンであっても)。

すべてをhttp://localhostから実行するのが最善です。

11
lonesomeday

ブラウザはこれがクロスドメインリクエストであると見なすため、これはおそらく機能しません。 file:// URLを介してファイルにアクセスしましたが、 http:// localhost からデータを取得しようとしています。 http:// localhost からも元のファイルにアクセスしてみてください。おそらく、機能し始めます。

3
Rob Williams