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');
}
});
しかし、成功させることはできません...ローカルファイルシステムなどに問題があるようです。よくわかりません。
問題が解決しました!
このヘッダーをindex.phpファイルに追加する必要がありました http:// localhost /
header('Access-Control-Allow-Origin: *');
とにかくみんな助けてくれてありがとう!
スクリプトがfile:///
URLから実行されていると言います。 AJAX file
URLからのリクエストは、一貫性のない処理が行われるため、実行しないことをお勧めします。たとえば、Chromeでは完全に禁止されています。
ただし、ここでのより大きな問題は同じです-Originポリシー:Webページ自体と同じホストに対してのみAJAXリクエストを行うことができます。file:///
とhttp://localhost
はnot同じホスト(同じマシンであっても)。
すべてをhttp://localhost
から実行するのが最善です。
ブラウザはこれがクロスドメインリクエストであると見なすため、これはおそらく機能しません。 file:// URLを介してファイルにアクセスしましたが、 http:// localhost からデータを取得しようとしています。 http:// localhost からも元のファイルにアクセスしてみてください。おそらく、機能し始めます。