私はこの質問が十数回以上尋ねられたことを理解しており、与えられた各回答は私がそれを正しく行っていることを示していますが、おそらく私は何かが欠けています。
AJAXは次のようにCORSリクエストを処理します...
$.ajax({
url: 'someotherdomain.com',
type: 'post',
data: {key: 'value'},
dataType: 'json',
async: false,
crossDomain: true,
beforeSend: function(xhr){
xhr.withCredentials = true;
},
success: function(x, status, xhr){
},
error: function(xhr, status, error){
}
});
PHPはそのようなCORSリクエストを処理します...
header('Access-Control-Max-Age: 1728000');
header('Access-Control-Allow-Origin: http://someotherdomain.com');
header('Access-Control-Allow-Methods: POST');
header('Access-Control-Allow-Headers: Content-MD5, X-Alt-Referer');
header('Access-Control-Allow-Credentials: true');
header("Content-Type: application/json; charset=utf-8");
すべてのドキュメントによると、「Access-Control-Allow-Credentials」サーバー側ヘッダーと「withCredentials = true」クライアント側ヘッダーが設定されている限り、ドメイン間のセッションCookie処理は透過的である必要があります。私は何かが足りないのですか?