ajax请求每秒返回10个响应

时间:2013-12-12 17:08:19

标签: javascript jquery ajax return

根据ajax返回的内容(1或0),我希望是否处理提交操作:

$(document).ready(function(){
  $("#submit").submit(function(e){

    e.preventDefault();
    var username = $("#username").val();
    if(username){
        $.ajax({
            url: 'checkinput.php',
            data: {data: JSON.stringify(username)},
            type: 'POST',
            dataType: "json",
            success: function (data) {
                if(data.result == 0) {
                    alertify.log( data.error ); // diplay error
                }
                if(data.result == 1) {
                    $("#submit").submit(); // process submit-action => send data to php etc..
                }
            }
        });
    } else {
        alertify.log( "forgotten something" );
    }    
  });
}); 

如果从php脚本返回的结果为0,则显示错误消息并且页面未刷新(GREAT)< =它应该是这样的。

如果Ajax返回1,我希望处理提交操作,因此可以将数据发送到php。 但是会发生什么:

Ajax每秒发送10个响应(可能是因为我在if子句中调用的函数?) 如果返回的结果为1,我希望处理提交操作。 怎么解决这个问题?

1 个答案:

答案 0 :(得分:2)

您有一个无限循环,因为$("#submit").submit()会触发提交event。你想要的是提交表格而不触发事件。幸运的是,这只意味着在您的代码[0]中添加3个字符。

$("#submit")[0].submit();