jqueryのAJAXを使用したHTTPS POSTリクエストは、Firefoxで失敗します
質問
私は、各行に対する削除のリンクを持つHTMLテーブル内のレコードの単純なリストを持っています。 「/delete/record/5
」
AJAXリクエストがHTTPSを使用して、サーバー上で動作しているときPOSTメッセージとjQueryの.ajax()
コールを使用して作成されます。この呼び出しはOSX / Windowsのアーキテクチャ上のFirefox 3で失敗します。それは私がテストした他のすべてのブラウザで動作します(OSX / Windowsの:クローム、サファリ、IE7)
の要求はHTTPSサイトから来ると同じhttpsのサイトに行っています。しかし、私は、元の要求がHTTPとしてオフ開始しHTTP-からそれを送信するために当社のサーバー上のリダイレクトしようとした> HTTPSおよびFirefoxは偽造のいくつかのタイプとしてリダイレクトその拒否する処理中にどこかだと思います。
誰もが経験やっ.ajax()
jQueryのFirefoxでHTTPSサイトを呼び出しがありましたか?私は、要求がある場合、それはこれらの変数を持っていない場合は、URL内の「?var=xxx
」引数が、要求はより頻繁にして動作するように思われる奇妙な何かを気づかます。
解決
が鳴ります。。あなたはどのPOST
なしdata
要求を送信している場合、このエラーが発生する可能性があります。
この問題を解決するには、あなたの要求に{}
プロパティに空のオブジェクト(data
)を追加します。
$.ajax({
url: url,
type: 'POST',
data: {}, // <- set empty data
success: function(data, textStatus) {
// do something
}
});
他のヒント
それは私があなたを疑うよいないことを...考えにくいです。しかし、私はWiresharkのをダウンロードして、あなたが問題を特定することはできませんかどうかを確認するために、あなたのHTTPトラフィックを見てお勧めします。あなたはFF3によって送信された要求に対して、他のブラウザによって送信された要求を比較して、戻って来ている応答の種類を確認することができます。それは確かにFF3では正常に機能していないjQueryを使って問題がある場合は、適切に動作するコードの一部を変更することができるかもしれません。
あなたはおそらく、あなたのリクエスト/レスポンスのすべての情報にアクセスできるようになりますFirefoxのライブヘッダーの拡張機能をインストールすることができます。あなたができるでしょう。この方法は、任意の違いをキャッチします。
あなたのFirefoxにインストールされているすべてのプラグインやのGreaseMonkeyスクリプトを持っていますか?
私は、HTTPS上のjQueryのAJAXリクエストで問題があったことがありません。私はあなたがまだの場合はターンアップ何 Firebugのに見てみることをお勧めしたい。
私は$.post
パラメータとして空のオブジェクトを送信することにより、Firefoxで動作するようにdata
ました。パラメータ2のために、空のブラケットを注意します:
$.post(url, {}, function(response){ alert('done'); }, "json");