2017-02-09 7 views
0

Webロケーションからデータを取得するはずの次のjQueryスクリプトがあります。jQueryは何も返さないリクエストを受け取ります

最初のステップは、(その後、私はデータで何かを行う必要があります。)...データをロードすることです

私の問題は、最初のステップです。ものは単に読み込まれません。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> 

     <script> 

      $(document).ready(function(){ 

       var url = "http://vsr.informatik.tu-chemnitz.de/edu/2015/evs/exercises/jsajax/guestbook.php"; 
       $.get(url, function(data){ 
        alert("test");  
       }); 

      }); 

     </script> 

このスクリプトでは「テスト」は表示されません。私の質問です:なぜではないですか?どうしましたか?

+0

?私の疑惑はhttps://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policyです。 – j08691

答えて

0

おそらく、ブラウザのセキュリティがクロスドメインのajax呼び出しを許可していない可能性があります。言い換えれば、あなたはおそらく "tu-chemnitz.de"と同じドメインにいないので、ブラウザはあなたのajaxリクエストをブロックしています。これを解決してブラウザのセキュリティを無効にする方法。しかし、これに頼らなければならない場合は、自分がしていることを再考する必要があります。あなたのウェブサイトのユーザーは間違いなく "dodgy"なことをしようとしているので、ブラウザのセキュリティをオフにしていません。

1

あなたのリクエストはCORSポリシーでブロックされています。これは次のステートメントに進むことができないためです。

これは、CORSの紹介です:

CORSは異なる ドメイン上のWebリソースにアクセスするための業界標準です。 JavascriptやCSSコードが要求を行わないようにするには、ブラウザ ブラウザで実装することが非常に重要なセキュリティコンセプトです。

はのは、このシナリオを考えてみましょう:

あなたはブラウザで開くと、ドメイン2から のJavaScriptファイルを求めているドメイン1からのリンクがあります。今すぐあなたのウェブブラウザは Domain2に電話をかけます。 Domain2の場合、 JavaScriptやCSSのような要求をDomain2のみから受け入れ、 からのすべてのリクエストを無視するというポリシーがある場合、ブラウザのDomain1リクエストは失敗し、 エラーが発生します。単純なステートメントで:リクエストが同じドメイン またはオリジンから来ていない場合は、単にそれを無視してください。

これは、ユーザーが知らないうちにハッキングやリソース を盗むのを防ぐ非常に重要な機能です。元のホストは、要求/応答を許可するようにAccess-Control-Allow-Origin "*"ヘッダを送信する必要があるの成功を継続する

参考:ブラウザのコンソールで入手できますかどのようなエラー

HTTP access control (CORS)

How to fix Access-Control-Allow-Origin (CORS origin) Issue for your HTTPS enabled WordPress Site and MaxCDN

関連する問題