2016-04-25 14 views
2

を働いていないエラー:Ajaxのクロスドメインのjqueryで

Response to preflight request doesn't pass access control check: The 'Access-Control-Allow-Origin' header contains multiple values ' http://localhost:8080 , *', but only one is allowed. Origin ' http://localhost:8080 ' is therefore not allowed access.

$("#selector3").autocomplete({ 
      source: function(request, response) {    

       $.ajax({ 
        url: "http://example.com/"+$("#selector3").val(), 
        type: "GET", 
         dataType: "json", 
         data: request, 
         processData: true, 
         data: {}, 

         headers: { 
          "Access-Control-Allow-Origin" : "*", 
          "Access-Control-Allow-Headers": "origin, content-type, accept" 
            }, 

         crossDomain: true, 
        success: function(data) { 
         alert(data.Company_Id); 
}); 

答えて

0

あなたが権利を持っている以外、あなたは他のウェブサイトのソースコードにAJAX operaitonsを行うことはできません。あなたはサーバー側でそれをする必要があります。 PHPでは、あなたはHTMLのアジリティパックを使用することができます。ネットでは、cURLを使用することができます。

0

Javascriptからサーバーに送信するヘッダーは、サーバーによって返されます。サーバーへのアクセス権がない場合、これは不可能です。つまり、サーバーはドメインを合法的なプロセッサーとして受け入れます。

次に、JSONP呼び出しを試すことができます。次のURLをチェックしてください:https://learn.jquery.com/ajax/working-with-jsonp/

2

クロスドメインスクリプティングにはJSONPを使用してください。サンプルコード以下

チェック:

$.ajax({ 
    url: "http://example.com/" + $("#selector3").val(), 
    type: "GET", 
    dataType: 'jsonp', // Notice! JSONP <-- P (lowercase) 
    data: request, 
    processData: true, 
    data: {}, 
    headers: { 
     "Access-Control-Allow-Origin": "*", 
     "Access-Control-Allow-Headers": "origin, content-type, accept" 
    }, 
    success: function(data) { 
     alert(data.Company_Id); 
    } 
}); 
+0

私はデータ型に変更された:JSONPを、私は(エラー:jQuery1113042518210380525434_1461646502000が呼び出されなかった)に応答エラーを取得 – Arunkumar

+0

@Arunkumar、それはネットワークエラーまたは終了のいずれかを意味しますJSONPレスポンスを返さないポイント。 –

関連する問題