将间隔设置为ajax形式

时间:2016-08-27 16:26:39

标签: javascript jquery ajax setinterval

所以我试图每秒将表单信息发送到带有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回答,谢谢你的帮助!

2 个答案:

答案 0 :(得分:0)

只需将ajaxForm更改为ajaxSubmit

即可

有关AjaxForm与AjaxSubmit的更多信息,请参阅this(问题)和this(文档)

基本上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函数

答案 1 :(得分:0)

摆脱ajaxForm()调用似乎可以完成你想要做的事情:

.parallax-mirror {
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}