所以我试图每秒使用ajax表单将表单信息发送到php,但由于某种原因它不想这样做。
这是我的最新尝试,我尝试了所有其他类似的组合(例如将所有内容放入函数中或将所有内容放入 setInterval 中)。
$(document).ready(function() {
var ajaxCall=function() {
$("#myForm").ajaxForm(function(e) {
$.ajax({
type:'post',
url:'php1.php',
data:$("#myForm").serialize(),
success:function(data) {
document.getElementById("result").innerHTML=data;
}
});
});
}
setInterval(ajaxCall,1000);
});
编辑
已通过M.M的回答解决,谢谢您的帮助!
最佳答案
只需将 ajaxForm
更改为 ajaxSubmit
参见this (问题)和this (文档)有关 AjaxForm 与 AjaxSubmit 的更多信息
本质上,AjaxForm 会在用户单击按钮时提交,并且 AjaxSubmit 会立即执行,因此您的代码应该是:
$(document).ready(function()
{
var ajaxCall=function()
{
$("#myForm").ajaxSubmit(function(e)
{
$.ajax(
{
type:'post',
url:'php1.php',
data:$("#myForm").serialize(),
success:function(data)
{
document.getElementById("result").innerHTML=data;
}
});
});
}
setInterval(ajaxCall,1000);
});
<小时/>
评论解释后更新
$(document).ready(function(){
//live feed
var ajaxCall=function(){
$("#myForm").ajaxSubmit(function(e){
ajax_submit();
});
}
setInterval(ajaxCall,1000);
//real submit
$("#myForm").ajaxForm(function(e){
ajax_submit();
});
function ajax_submit(){//ajax_code
$.ajax({
type:'post',
url:'php1.php',
data:$("#myForm").serialize(),
success:function(data) {
document.getElementById("result").innerHTML=data;
}
});
}
});
如果您希望区分 feed 和提交,您可以将参数传递给 ajax_submit
函数
关于javascript - 设置间隔为ajax形式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39183299/