2011-05-22 86 views
1
$("#submit").click(function(){ 
    $.ajax({ 
     type: "POST", 
     url: "session.php", 
     data: "name=John123&location=Boston", 
     success: function(a, msg2){ 
      $('#feedback').removeClass().addClass('success').text(a +' '+msg2).fadeIn('slow'); 

     }, 

     error: function(a, b, c){ 
       $('#feedback').removeClass().addClass('error').text('This is' +b).fadeIn('slow'); 
      }, 

我想在PHP中使用下面的代码来调用错误函数调用AJAX。有什么办法可以调用错误函数吗?错误功能不使用jQuery

回答

1

为什么你会不会做这样的事情:

$("#submit").click(function(){ 
    $.ajax({ 
     type: "POST", 
     url: "session.php", 
     data: "name=John&location=Boston", 
     success: function(a, msg2){ 
      if(a.error) { 
       $('#feedback').removeClass().addClass('error').text('This is' +a.message).fadeIn('slow'); 
      } 
      else { 
       $('#feedback').removeClass().addClass('success').text(a.name +' '+msg2).fadeIn('slow'); 
      } 
     } 
    }); 
}); 

和:

if ($_POST['name'] != "John") { 
    $message['error'] = true; 
    $message['message'] = "Hmm, please enter a subject in the subject field."; 
} 
else 
{ 
    $message['error'] = false; 
    $message['name'] = $_POST['name']; 
} 
echo json_encode($message); 

当AJAX失败误差函数时才会激活,所以不是你可以检查返回阿贾克斯该错误是否存在。

+0

是的,我能做到这一点,它只是另一种方式。但是你知道如果在验证数据的过程中遇到任何错误,错误信息将通过“成功”函数解析出来,我认为这不是一个好的编程习惯。 – fawad 2011-05-22 12:43:12

2

您需要将HTTP状态码设置为500(或其他任何其他>= 400)以表明存在错误。

+0

谢谢。但告诉我应该如何在PHP中设置此代码,以便它返回错误并调用错误函数。 – fawad 2011-05-22 12:43:55