jquery post関数でかなりイライラする問題が発生しています。これは、正しく機能する方法を理解していないことが原因である可能性があります。
私が書いたphpスクリプトにフォーム情報を投稿する関数があり、そのスクリプトはAPIに対してcurlリクエストを実行して、javascriptのクロスドメインポリシーを回避します。「http」に送信する限りは問題なく動作するようですが、「https」に送信するとフォームが送信されません。
コンピューターでwiresharkを実行しましたが、URLにhttpを使用させるまで、宛先IPへのトラフィックは表示されませんでした。サーバーに基本認証があるので、URLを介してユーザーとパスワードを渡しますが、それなしでテストしたところ、同じ結果が得られました。
動作しないコードは次のとおりです。
$j.post("https://<api user>:<password>@<ip>:444/ProxyScript.php",
$j("#spoke_ticket").serialize(),
function(msg) {
log_status(msg);
fade_status();
$j(':input','#createtheticket')
.not(':button, :submit, :reset, :hidden')
.val('')
.removeAttr('checked')
.removeAttr('selected');
});
仕事関数は次のとおりです。
$j.post("http://<other ip>/ProxyScript.php",
$j("#spoke_ticket").serialize(),
function(msg) {
log_status(msg);
fade_status();
$j(':input','#createtheticket')
.not(':button, :submit, :reset, :hidden')
.val('')
.removeAttr('checked')
.removeAttr('selected');
});
トラフィックが送信されない理由について何かアイデアはありますか?重要な情報などを省略した場合はお知らせください。
助けてくれてありがとう