タイトルが示すとおり、次のようになります。
サーバーに対してajaxリクエストを実行すると、403で応答しますが、取得してlocalStorageに保存したいヘッダーがあります。これはphonegapアプリ(AndroidおよびiOS)用であるため、開始ドメインはLocal(file://)です。呼び出しを実行するときに、次のコードを使用して応答をインターセプトしようとしましたが、未定義または空の文字列が返されます。
アヤックス:
$.ajax({
url: serverLink+action,
type: "POST",
data: "access_token="+accessToken+"&uid="+uid,
crossDomain: true,
complete: function(resp){
var header = resp.getAllResponseHeaders();
var match = header.match(/(Set-Cookie|set-cookie): (.+?);/);
if (match) session = match[2];
console.log(header, session)
}
})
応答ヘッダー
Connection Keep-Alive
Content-Encoding gzip
Content-Length 1198
Content-Type text/html
Date Fri, 13 Apr 2012 22:51:02 GMT
Keep-Alive timeout=15, max=100
Server Apache/2.2.14 (Ubuntu)
Set-Cookie sessionid=ebd26167e32bada2d2ed0bd3cc16d8a2; expires=Fri, 27-Apr-2012 22:51:02 GMT; Max-Age=1209600; Path=/
Vary Cookie,Accept-Encoding
さらに読んで、ここにたどり着きました。ここでは、djangoサーバー上のCSRFについて説明しています。私たちはdjangoサーバーを使用していますが、これまたは403のいずれかが問題だと思います。WebviewからCookieを収集し、後続のリクエストでサーバーに送り返す方法は(そこにある回答例から)ないようです。