3

ここに画像の説明を入力

jquery ajax "get"で応答ヘッダーの場所を取得する方法は?

ここに私のサンプルコード

$.ajax({
    type: 'GET',
    url: 'http://www.url.com',
    data: {},
    dataType: "json",
    success: function(res) { },
    error: function(jqXHR) { }
});
4

2 に答える 2

8

非単純なヘッダーにアクセスするには (単純なヘッダーの詳細については、 http://www.w3.org/TR/cors/を参照してください)、サーバーはアクセスしたいヘッダー名を "Access-Control-Expose- Headers" CORS ヘッダー。

したがって、「Access-Control-Allow-Origin」、「Access-Control-Allow-Headers」ヘッダーに加えて、呼び出しを行うサーバーには次のものが含まれている必要があります。

Access-Control-Expose-Headers: 場所

これを Windows 7 (Chrome 23、Safari 5.1.7、Firefox 17、Opera 12.11) でテストしました。Chrome と Opera のみが getResponseHeader('Location') メソッドを介して Location ヘッダーにアクセスできるようです。これは Access-Control-Expose-Headers ヘッダーがサーバーの応答に含まれている場合のみです。

于 2012-11-28T09:25:03.107 に答える
3

.getResponseHeader()このように使用できるメソッドを持つ成功コールバックでもjqXhrオブジェクトを受け取ることができます

$.ajax({
   type: 'GET',
   url: 'http://www.url.com',
   data: {},
   dataType: "json",
   success: function(res,status,XHR) { 
       var location = XHR..getResponseHeader('Location');
   },
   error: function(jqXHR) { }
});

詳細はこちら$.ajax、ページで.getResponseHeader文字列を検索してください。

ワーキングフィドル

または、これを試してすべてをチェックしてくださいresponse headers

于 2012-06-04T10:23:08.027 に答える