gpt4 book ai didi

javascript - 如果需要,ajaxForm 重新提交

转载 作者:行者123 更新时间:2023-11-29 23:35:37 24 4
gpt4 key购买 nike

我正在使用 ajaxForm 将数据发送到在后台运行的 php 文件,一些 js 函数将检查 php 文件是否正在异步运行。因此,如果出现某些故障(互联网/电力中断),我希望我的用户能够重试上次提交的表单。所以我找到了一些 ajax 重试函数,best way to retry ajax但它是在同一个 ajax 请求上,我需要能够从另一个函数重试我的 ajax。有可能吗?鉴于我在表单中存储传递的值。

$(document).ready(function(){
$('#form').ajaxForm({
target: '#ajax-response',
success: function(){
initAjaxCheck();
}
});
Check();
});
所以,基本上 lockcheck() 检查页面刷新/重新加载后进程是否仍在运行,如果在之前的运行中检测到任何失败,它应该能够重试表单提交。

这是js脚本:

function Check(){
$.ajax({
type:"POST",
url:"ajax.php",
data:{'flag':'Check'},
success:function(result){
if (result=="1") {
initAjaxCheck();
}
}
});
}



function initAjaxCheck(){
$.ajax({
type:"POST",
url:"ajax.php",
data:{'flag':'initProcCheck'},
success:function(data){
if (data=="1"){
timerCheck=setInterval(function(){
ajaxCheck(timerCheck);
},1000);
} else { //unsuccessful
var toRepeat = confirm ("Last try was unsuccessful. Retry?");
if (toRepeat){alert("retry");} else {alert("cancel");}
}
}
});
}

因此,如果我的用户按下重试,我应该重试我的 ajaxForm 提交。

最佳答案

我有点不明白你到底在问什么,但我相信我有点理解。

触发表单提交。

$('#form').trigger("submit");

var event = jQuery.Event("submit");
$('#form').trigger(event);

要在您的代码中实现这一点,只需将其添加到您的confirm 函数之后即可。

var toRepeat = confirm ("Last try was unsuccessful. Retry?");

if (toRepeat){
alert("retry");
$('#form').trigger("submit");
} else {
alert("cancel");
}

关于javascript - 如果需要,ajaxForm 重新提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46419158/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com