ブックマークレットによって任意の Web ページに挿入される iframe があります。これhttp://localhost:5000/test
は、次の Javascript を実行する単純な HTML ページです。
$.ajax({
type: "POST",
url: "http://localhost:5000/parse",
data: {data:"hello world"}
}).done(function( msg ) {
console.log("Success!!", arguments);
}).fail(function(jqXHR, textStatus, errorThrown) {
console.log("Error", arguments);
});
呼び出しが行われたことを Web インスペクターで確認できますが、30 秒後に要求がタイムアウトするまで(保留中)のままです。サーバー ログは、サーバーがまったくヒットしていないことを示しています。奇妙なことは、ajax リクエストでdataパラメータを削除すると、サーバーがヒットし、期待どおりに動作することです。
$.ajax({
type: "POST",
url: "http://localhost:5000/parse"
}).done(function( msg ) {
console.log("Success!!", arguments); // this works.
});
iframe と ajax リクエストのターゲットが同じドメインにあるため、クロスドメイン ポリシーの問題が問題になるとは思いません。ここで何が欠けていますか?このリクエストの通過を妨げているブラウザ レベルの何かがありますか?