什么时候不成功:值在jQuery Ajax方法中执行? (标题位置未更改)

时间:2016-03-25 20:47:37

标签: javascript php jquery ajax

我正在使用jQuery Ajax提交表单。

数据已成功提交,但存在一些问题。当我在此代码中添加注释语句时, success:function(){} 不会运行(位置不会更改)。

问。 1 当我删除这些语句时,它会运行。我不明白这个逻辑。它何时实际执行以及检查 xy 对此有何影响?

这是我的 Ajax 代码:

$(document).ready(function(){
    $("#button").click(function(){
    **//FOLLOWING TWO LINES MAKES SUCCESS NOT RUN**
    //var **xy**= $("#digits").val();
    //if(xy!=""){
    $.ajax({
        url: "submitform.php",
        type: "POST",
        data: $('#signupform').serialize(),         
        success: function(result){
            $(location).attr('href', 'login2.php');
            },
            error: function(){
            alert(error);
            }
        });
    //  }
    });
});

以下是输入标记:

 <form id="signupform" name="form1" method="post" enctype="multipart/form-data">
            <input id="digits" type="text" name="phone" maxlength="10" placeholder="Enter your phone no." required />
......

Q.2 当我写event.preventDefault();要停止提交按钮的默认操作,输入字段的必需 atrributes不起作用。为什么会这样?可以解决吗?

2 个答案:

答案 0 :(得分:1)

问题2:

如果您在提交按钮上为preventDefault的事件调用click,则会阻止默认行为(启动提交),因此不会检查输入字段。

您必须侦听submit的{​​{1}}事件并阻止此事件的默认行为,因为在检查输入元素之后和之前发送form事件submit已提交。

form

答案 1 :(得分:1)

当你使用jquery ajax时,有两种类型的结果:

400 - 成功功能捕获的OK状态 402或500是内部错误,它们将由错误函数捕获。

现在,在你的错误函数中,你试图打印一个不存在的错误变量。

另外,当你使用preventDefault时,你有一个处理de event的pass变量也取消了。