2017-02-20 23 views
0

次のajaxレスポンスの場所ヘッダーにアクセスしようとしています。しかし、それは私にnullを与える。私のjavascriptのコードはajaxリクエストのロケーションヘッダを取得できませんでしたか?

var xmlhttp = new XMLHttpRequest(); 
    xmlhttp.open("POST", "http://localhost:8080/openam/oauth2/authorize", true); 
    xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"); 
    xmlhttp.setRequestHeader("Cache-Control", "no-cache"); 
    xmlhttp.withCredentials = true; 

    xmlhttp.onreadystatechange = function() {//Call a function when the state changes. 
      if(this.readyState == this.HEADERS_RECEIVED) { 
       alert(xmlhttp.getResponseHeader("Location")); 
     } 
    } 

    xmlhttp.send(params); 

以下は、私のcorrospondingオプションとPOSTリクエスト、

オプション要求している、ある

OPTIONS /openam/oauth2/authorize HTTP/1.1 
Host: localhost:8080 
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 
Accept-Language: en-US,en;q=0.5 
Accept-Encoding: gzip, deflate 
Access-Control-Request-Method: POST 
Access-Control-Request-Headers: cache-control 
Origin: http://127.0.0.1:4000 
Connection: keep-alive 

オプション応答

HTTP/1.1 200 
Access-Control-Allow-Origin: http://127.0.0.1:4000 
access-control-allow-credentials: true 
Access-Control-Max-Age: 10 
Access-Control-Allow-Methods: POST 

Access-Control-Allow-Headers: iplanetdirectorypro,cookie,origin,x-requested-with,access-control-request-headers,x-openam-password,content-type,location,x-openam-username,access-control-request-method,cache-control,accept 

Content-Length: 0 
Date: Mon, 20 Feb 2017 17:57:34 GMT 

POSTリクエスト

POST /openam/oauth2/authorize HTTP/1.1 
Host: localhost:8080 
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 
Content-Type: application/x-www-form-urlencoded; charset=UTF-8 
Cache-Control: no-cache 
Referer: http://127.0.0.1:4000/login.htm 
Content-Length: 139 
Origin: http://127.0.0.1:4000 
Cookie: amlbcookie=01; 

ポスト応答

HTTP/1.1 302 
Access-Control-Allow-Origin: http://127.0.0.1:4000 
access-control-allow-credentials: true 
access-control-expose-headers: Access-Control-Allow-Origin,Access-Control-Allow-Credentials,Set-Cookie,Date,Location 
Cache-Control: no-store 
Date: Mon, 20 Feb 2017 17:57:34 GMT 
Accept-Ranges: bytes 
Location: http://localhost:8080?code=669b8303-d8cd-4e01-90ad-7cb89007fc65&scope=address%20openid%20profile%20email 

アクセス制御は許ヘッダ&アクセス制御 - 露光 - ヘッダが適切な場所値で使用可能です。しかし、なぜ私はLocationヘッダにアクセスできませんか?

+0

テキストの画像は含めないでください。単にテキストを含めてください。ビューソースボタンが表示されますか?それをクリックし、そのテキストをコピーして質問に貼り付けます。 –

+0

@Mike:私はそれを変更しました – maamaa

答えて

1

XHRは、処理を終了することを応答が(Locationヘッダを持っていません)一つですので、ブラウザは透過は、それに従いますので、あなたは、Locationヘッダを取得することはできません。

+0

リダイレクト処理を停止して、位置のヘッダーを取得できませんか? – maamaa

関連する問題