2016-10-06 8 views
1

コンソールログに、迷惑メールメッセージが表示されます 理由:CORSヘッダー 'Access-Control-Allow-Origin'が見つかりません スタックオーバーフローソリューションをチェックしましたが、それを解決する。私のajaxメソッドが動作していません。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> 
    <script> 
    $(document).ready(function() 
    { 
    var save_temp = { 
       "token": "e2c420d928d4bf8ce0ff2ec19b371514" 
        }; 
      var comment_data = JSON.stringify(save_temp); 

    //alert(comment_data); 
    var request = $.ajax({ 
     url: "http://vyhub.com/irmtapi/dailyreport/checkReport", 
     type: "POST", 
     data:comment_data, 
     contentType: "application/json; charset=utf-8", 
     dataType: 'json', 
    }); 

    request.done(function(msg) 
    { 
     // $("#log").html(msg); 
    alert(msg) 
    }); 

    request.fail(function(jqXHR, textStatus) { 
     alert("Request failed: " + textStatus); 
    }); 

    }); 

    </script> 
+3

。これはサーバー側の問題です。親切に[** Enable CORS **](http://enable-cors.org/)のものを読んでください。 –

+0

クライアント側でも同じエラーが発生しています – VyTcdc

+0

私は192.168.1.9/irmtapi/同じ問題を使用していました – VyTcdc

答えて

1

これは、クロスヘッダー要求の共有を許可するための正しいヘッダーを送信しないサーバー側のコードには明らかに問題があります。 ApacheサーバーとPHPの2つの方法でenable CORSが必要です。

方法1: Apacheサーバーの設定を使用します。 Apacheの.htaccessは、あなたが次の行を追加することにより、CORSを有効にすることができます使用

Header set Access-Control-Allow-Origin "*" 

このためには、あなたがmod_headersモジュールが有効になっていることを確認する必要があり、動作するように。 sudo a2enmod headersを使用してこれを有効にすることができます。これにはsudo権限が必要です。また、sudo service apache2 reloadを使用して構成を変更した後、Apache Serverを再起動する必要があります。

方法2: PHPコードの使用。

また、サーバー管理をあまり制御できない場合は、要求に応じるスクリプトで有効にできます。

<?php 
    header("Access-Control-Allow-Origin: *"); 

ご不明な点がありましたら、私に教えてください:ちょうど、ブラウザが許可されるように、AJAXのアクセス、PHPファイルの先頭にこれを追加します。詳細については、以下の参照を検索してください:あなたは、クライアント側から何もすることができません

関連する問題