我有以下的jQuery代碼,這個代碼的一點是要建立一個很短的時間延遲,因此AJAX請求得到及時正確地執行:延遲提交結果
$('#form_id').submit(function(e) {
e.preventDefault();
$submit_url = $(this).data('submitUrl');
$submit_url = $submit_url.replace('http://','').replace(window.location.host,'');
if ($(this).data('toBeAjaxSubmitted') == true) {
$.ajax($submit_url, {
type : $(this).attr('method'),
data : $(this).serialize(),
complete : function(data) {
$(this).data('toBeAjaxSubmitted', false);
$('#form_id').submit();
}
});
}
});
會發生什麼事,表單首先提交我需要提交的URL,以便組件將條目保存到數據庫中。但是我也需要用戶輸入,直接提交到用戶付款的支付網關URL。
上面的代碼創建AJAX請求,但不返回到正常回發行爲(通過$('#form_id').submit()
)。
它使遍地提交表單,但從來沒有職位到網關URL重定向或出去。
我在做什麼錯?
感謝馬特灣'java'標籤是我認爲的一個意外。 –