次のような Json オブジェクトを POST を使用して送信できる API /user/auth を作成しました。
var user = {"username":"alex", "password":"m"}
$http(
{
method: 'POST',
url: '/api/v1/user/auth',
data: user,
}
).
success(function(data, status, headers, config) {
console.log(data)
}).
error(function(data, status, headers, config) {
// called asynchronously if an error occurs
// or server returns response with an error status.
});
Django からの応答は次のとおりです。
Access-Control-Allow-Credentials:true
Access-Control-Allow-Headers:Content-Type,*
Access-Control-Allow-Methods:POST,GET,OPTIONS,PUT,DELETE
Access-Control-Allow-Origin:*
Content-Language:fr
Content-Type:application/json
Date:Fri, 30 Aug 2013 15:22:01 GMT
Server:WSGIServer/0.1 Python/2.7.5
Set-Cookie:sessionid=w63m0aoo8m3vfmvv0vk5d6w1708ftsrk; Path=/
Vary:Accept, Accept-Language, Cookie
したがって、Django は適切な Cookie を返しますが、理由はわかりません。Chrome はこの Cookie を Resource に設定しません。
リクエストは 127.0.0.1:8000 から 127.0.0.1:8080 に送信されます。このミドルウェアを使用して CROS リクエストを処理し、次の設定も行います。
SESSION_COOKIE_HTTPONLY = False