次の S3 バケットがあります: http://my-bucket.s3-website-eu-west-1.amazonaws.com/
http://docs.amazonwebservices.com/AmazonS3/latest/dev/cors.htmlに従って、CORS 構成を追加しました。
<CORSConfiguration>
<CORSRule>
<AllowedHeader>x-requested-with</AllowedHeader>
<AllowedHeader>*</AllowedHeader>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>POST</AllowedMethod>
</CORSRule>
<CORSRule>
<AllowedOrigin>http://*.test.com</AllowedOrigin>
<AllowedMethod>POST</AllowedMethod>
</CORSRule>
</CORSConfiguration>
jquery を使用して自分のバケットに AJAX Post リクエストを作成します (オリジンは jd.test.com:8000 です)。
$.ajax('http://my-bucket.s3-website-eu-west-1.amazonaws.com/', {
type: "POST",
data: $(":hidden", self).serializeArray(),
files: $(":file", self),
statusCode: {
204: function(){
//do something
}
}
});
リクエストを行うと、私のクロムコンソールは不平を言います:
XMLHttpRequest cannot load http://my-bucket.s3-website-eu-west-1.amazonaws.com/. Origin http://www.jd.test.com:8000 is not allowed by Access-Control-Allow-Origin.
POST リクエストが行われない理由についてのヘルプをいただければ幸いです。
ありがとう !