使用jquery提交表单时返回(不刷新)

时间:2014-09-29 05:35:16

标签: javascript php jquery

我有一个代码在我的页面上提交表单时调用PHP页面(下面):

$(document).ready(function(){
    $('#ajaxPVT').on('submit',function(e) {        
        $.ajax({
            url:'action.php',
            data:$(this).serialize(),
            type:'POST',
            success:function(data){
                console.log(data);
                alert('success!!');
            },
            error:function(data){
                alert('error');
            }
        });
        e.preventDefault();
    });
});

工作正常。它调用action.php并显示像SUCESS !!的警告。

我的问题是:我想从php文件中返回..

例如..如果有什么不行,那么返回false ...

并避免表单提交显示和错误提醒。

非常感谢,伙计们。

4 个答案:

答案 0 :(得分:2)

在你的php文件中,使用这样的东西,你将通过error函数。我相信所有4xx和5xx代码都能正常工作。

header('HTTP/1.0 404 Not found');
exit;

答案 1 :(得分:0)

在这种情况下,wpuld可能最好让de Php返回一个包含成功或错误代码的JSON字符串,并附带一条消息。

然后在您的成功方法中,您将分析数据变量。根据返回对象中的成功代码,您将在表单中显示感谢消息或错误。

答案 2 :(得分:0)

  • 您的逻辑必须用php文件编写
  • 当您提交表单时,您的数据将转至action.php文件
  • 你可以回复json数据
  • 或简单"成功"
  • 在你的ajax中执行此操作
success:function(data){ 
       if(data == "success")
         alert("success");
       else
         alert("Fail");
     } 

答案 3 :(得分:0)

使用Ajax,return false无法形成并显示错误,因为提交表单和ajax调用是异步的。

相反,如果ajax成功,你可以在按钮点击时调用ajax并提交表单。

$(document).ready(function(){
    $('#ajaxButton').on('click',function(e) {

      $.ajax({
       url:'action.php',
       data:$(this).serialize(),
       type:'POST',
       success:function(data){
           console.log(data);
           alert('success!!');
          //submit your form here
          $('#formId').submit();
           },
           error:function(data){
           alert('error');
          }
       });
     e.preventDefault();
   });
});