2

バックボーン アプリケーションから DELETE 要求を行っていますが、以下に示すエラーで失敗する理由がわかりません。

オプションヘッダー

これが 200 Success の OPTIONS ヘッダーです

リクエスト:

OPTIONS /revenues/674sf6 HTTP/1.1
Host: api2.revparmax.local
Connection: keep-alive
Access-Control-Request-Method: DELETE
Origin: http://localhost:3000
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) ....
Access-Control-Request-Headers: token, accept, origin, x-requested-with, content-type
Accept: */*
Referer: http://localhost:3000/app/daily/
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8

応答:

HTTP/1.1 200 OK
Date: Mon, 27 May 2013 20:01:32 GMT
Server: Apache/2.2.14 (Unix) DAV/2 mod_ssl/2.2.14 OpenSSL/0.9.8l PHP/5.3.1...
X-Powered-By: PHP/5.3.1
Access-Control-Allow-Origin: http://localhost:3000
Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS
Access-Control-Allow-Headers: origin, x-requested-with, content-type, accept, TOKEN
Access-Control-Max-Age: 86400
Content-Length: 2
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: application/json; charset=utf-8

ヘッダーを削除

しかし、その後、私の削除要求は失敗します...

リクエスト:

DELETE http://api2.revparmax.local/revenues/674sf6 HTTP/1.1
TOKEN: 00899766786875875674557454
Accept: application/json, text/javascript, */*; q=0.01
Referer: http://localhost:3000/app/daily/
Origin: http://localhost:3000
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) ....
Content-Type: application/x-www-form-urlencoded; charset=UTF-8

エラー

XMLHttpRequest cannot load http://api2.revparmax.local/revenues/674sf6. Origin http://localhost:3000 is not allowed by Access-Control-Allow-Origin.

ノート

ああ、モデルがまだサーバーから削除されていることに言及する必要がありますが、私の問題は、このエラーが原因で、バックボーン アプリ内で延期された Ajax がすべて破棄されることです。

また、失敗したときのリクエスト ペイロードは [object Object] です。それが問題の原因になっている可能性はありますか?

4

1 に答える 1

1

Chrome を実行していますか? もしそうなら、CORS localhost バグに遭遇した可能性があります。このSOの質問を参照してください。

于 2013-05-27T21:09:21.930 に答える