CORS を使用して jQuery でクロスドメイン POST を実行しようとしていますが、OPTIONS 要求が送信 (および応答) された後、POST は発生しません。私の要求/応答フィルターを以下に示します。私のjQueryポストコードも表示されています。応答には適切な CORS 応答ヘッダーがあるように見えるので、なぜこれが機能しないのかわかりません。
var params = {};
params.data = myPostData;
params.headers = {
'x-pingother' : 'pingpong'
};
$.ajax(params);
リクエストヘッダー
OPTIONS /my/service/url HTTP/1.1
Host: localhost:8080
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:17.0) Gecko/20100101 Firefox/17.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
Origin: http://localhost:9876
Access-Control-Request-Method: POST
Access-Control-Request-Headers: content-type,x-pingother
Pragma: no-cache
Cache-Control: no-cache
応答ヘッダー:
HTTP/1.1 200 OK
Access-Control-Allow-Origin: http://localhost:9876
Access-Control-Allow-Methods: POST,GET,OPTIONS
Access-Control-Allow-Headers: x-pingother
Content-Length: 703
Content-Type: application/vnd.sun.wadl+xml
Allow: OPTIONS,POST
Last-Modified: Sat, 19 Jan 2013 13:46:51 EST
Server: Jetty(6.1.25)
別のポートで実行されている Web サーバーに接続するローカル サーバー (JSTestDriver) から自動テストを実行しています。Web サーバーは 8080 で実行され、リクエストを行うページは 9876 で実行されます。