在提交表单之前发送AJAX请求
问题:我试图发送ajax reguest,然后提交表单 A.建议: 1.我把问题解决了在提交表单之前发送AJAX请求,ajax,forms,jquery,ajax-forms,Ajax,Forms,Jquery,Ajax Forms,问题:我试图发送ajax reguest,然后提交表单 A.建议: 1.我把问题解决了 success: function() { document.myform.submit(); } 但我认为这不是最优雅的解决方案。你能解释一下为什么只有在我放入document.myform.submit()时它才能工作吗;是否成功?还有别的办法解决这个问题吗 <div class="buttons"> <div class="right"> <f
success: function() {
document.myform.submit();
}
但我认为这不是最优雅的解决方案。你能解释一下为什么只有在我放入document.myform.submit()时它才能工作吗;是否成功
?还有别的办法解决这个问题吗
<div class="buttons">
<div class="right">
<form name="myform" onsubmit="javascript: startAjax(); return false;" action="https://example.com/payment.php" method="get">
<input type="hidden" name="merchantId" value="<?php echo $merchantIdKZM; ?>">
<input type="submit" value="<?php echo $button_confirm; ?>" id="button-confirm2" class="button" name="PayKZM" />
</form>
</div>
</div>
<script type="text/javascript">
function startAjax() {
console.log("dafaaaa");
$.ajax({
type: 'get',
url: 'index.php?route=payment/bank_transfer/confirm',
async: 'false',
success: function() {
// location = '<?php echo $continue; ?>';
}
});
} // Calls ajaxComplete() when finished
function ajaxComplete()
{
console.log("dafa");
document.myform.submit();
}
</script>
如@harsh所指出的,当get请求收到有效响应时,将调用success函数。因此,它将在get请求之后发生。尽管我还没有测试过,但我相信类似于以下内容的功能可以满足您的要求:
<script type="text/javascript">
$(function () {
$("#form").on('submit', function () {
var $form = $(this);
$.ajax({
type: 'GET',
url: 'index.php?route=payment/bank_transfer/confirm',
data: $form.serialize(),
async: 'false',
success: function () {
$.ajax({
type: 'GET',
url: 'https://example.com/payment.php',
data: $form.serialize(),
});
}
});
});
});
</script>
$(函数(){
$(“#表单”)。在('submit',函数(){
var$form=$(此);
$.ajax({
键入:“GET”,
url:'index.php?route=付款/银行转账/确认',
数据:$form.serialize(),
异步:“false”,
成功:函数(){
$.ajax({
键入:“GET”,
网址:'https://example.com/payment.php',
数据:$form.serialize(),
});
}
});
});
});
cozsuccess
当您从服务器收到对请求的有效响应时,会调用该函数。我不明白为什么在success函数中使用该代码不是一个好的解决方案。您是否总是提交表单,或者您是否试图从AJAX的回复中检查一些内容?我总是提交表单。