私は ajax を使用して、会社が使用しているマーケティング自動化プログラムにフォーム データのクロス ドメインを POST しています。具体的には、データを URL に渡すときに 302 応答が実際に予期されることをドキュメントに記載しています。
302 リダイレクトのため、ajax で「success:」オプションをヒットさせることができないため、成功または失敗に関係なく console.log に到達するために「complete:」を使用します。これが最善のアプローチかどうかはわかりません。
コード:
$("#button").click(function(e){
e.preventDefault();
var quoteData = $( "form" ).serialize();//the form info stored in a string
$.ajax({
type: "POST",
url: 'http://othersiteurl/index.php/leadcapture/save',
data: quoteData, //takes all the form data from the variable
complete: function(){
console.log('this is working');// this is where success code will go
}
});
});
奇妙なことに、フォーム入力からのデータは、送信時に他のデータベースに送信されます。マーケティング プログラムで提出情報を表示でき、それも更新されます。302 で ajax POST を成功させる方法について何か提案はありますか?
更新: 302 パラメータのコード:
$.ajax({
type: "POST",
url: 'http://othersiteurl/index.php/leadCapture/save',
data: quoteData, //takes all the form data from the variable and passes it to quote.php
statusCode:{ 302:function(){ alert("yay its a 302"); } }, //doesn't fire alert :-(
complete: function(){
console.log('this is working');
}
});