2017-05-22 12 views
1

1つのアプリケーションから別のアプリケーションへリクエストをしようとしています。だから私は、私のアプリケーションで必要とされ、Ajaxリクエストのためにそれらを埋めるいくつかのヘッダーを作成しました。私のコードは次のとおりです:要求ヘッダー値は送信されませんか? CORS - jQuery Ajax

$.ajax({ 
    method: 'GET', 
    url: 'http://my-domain.com/apps/filters/get-filters', 
    beforeSend: function(request){ 
     request.setRequestHeader("X-Webshop-Domain", window.location.host); 
     request.setRequestHeader("X-Language", $('html').attr('lang')); 
     request.setRequestHeader("X-Request-Protocol", window.location.protocol); 
     request.setRequestHeader("X-Api-Version", '2'); 
    }, 
    headers: { 
     "X-Webshop-Domain": window.location.host, 
     "X-Language": $('html').attr('lang'), 
     "X-Request-Protocol": window.location.protocol, 
     "X-Api-Version": '2', 
    }, 
    data: {}, success: function (response) 
    { 

    } 
}); 

私はページをロードするとき、このメソッドは呼び出されますが、応答は与えられません。それは私に "ヘッダーは許可されていません"という問題をもたらします。しかし、自分のネットワークタブ(開発者向けツールのChrome)にチェックインすると、リクエストが表示されますが、ヘッダーは表示されますが、そのうちのどれも表示されません。誰にどのようにこれが可能か、何が間違っているのか考えている人はいますか?

答えて

1

CORS(クロスドメイン要求)の場合、基本ヘッダーのみが許可されます。あなたは、サーバーのレスポンスヘッダに送信したいヘッダを追加する必要があります。

Access-Control-Allow-Headers: X-Webshop-Domain, ... 

ここであなたが役に立つかもしれない関連の質問です:Ajax Request header field Key is not allowed by Access-Control-Allow-Headers

+0

おかげで、あなたは多くのことを私を助けて! :D –

関連する問題