2016-11-07 5 views
-1
var url= 'http://sample.net:8051/admin/singleprofile'; 
     $.ajax({ 
      url: url, 
      crossOrigin: true, 
      type: 'GET', 
      xhrFields: { withCredentials: true }, 
      accept: 'application/json' 
     }).done(function (data) { 
      console.log(data);     
     }).fail(function (xhr, textStatus, error) { 
      var title, message; 
      switch (xhr.status) { 
       case 403: 
        title = xhr.responseJSON.errorSummary; 
        console.log('Please login to your server before running the test.'); 
        break; 
       default: 
        title = 'Invalid URL or Cross-Origin Request Blocked'; 
        console.log('You must explicitly add this site (' + window.location.origin + ') to the list of allowed websites in your server.'); 
        break; 
      } 
     }); 

私は、問題の下に取得しています: あなたが明示的にリストにこのサイト(' + window.location.origin + ')を追加する必要がありますあなたのサーバーの許可されたウェブサイト。クロスオリジン・リクエスト:同一生成元ポリシーは、HTTPでのリモートリソースを読んで禁止する:上記のコードから//sample.ent

+0

エラーメッセージの内容を正確に実行する必要があります。発信元を許可されたCORSリストに追加して、ヘッダー 'Access-Control-Allow-Origin:http:// sample.net'がサーバーから送信されるようにします。 –

答えて

0

最新のブラウザーはすべて、CORS(クロスオリジンリソース共有)ポリシーに従います。あなたのケース( "http://sample.net:8051/")でローカルサーバから何らかの外部サーバにリクエストを送信している場合、ブラウザはリソースにアクセスできません。この問題は、サーバーにデータを要求している場合、または同じIPを持っていても別のポートで実行している場合でも直面します。詳細については

は、これらのリンクをチェック:https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS


https://en.wikipedia.org/wiki/Cross-origin_resource_sharing
いますが、ライブ環境内の1台のサーバーにすべてを展開したら、この制限は文句を言わないがあります。開発目的のための

フロントエンド用: あなたがChromeのCORSプラグインをインストールすることができます。このプラグインは有効/バックエンドについて

ブラウザでCORS制限を無効にすることができます バックエンドサーバは、*のようにその値を持つレスポンスの「アクセス制御 - 許可 - 起源」ヘッダを送信することができます。それはどんな起源からのリソースの要求を受け入れます。

関連する問題