0

我一直在寻找一种简单、干净和灵活的方式来在POSTorGET请求之后将错误返回给浏览器。

使用 jQuery 的示例 AJAX 请求:

$.ajax({ 
  data : {
    method  : 'example',
    input : 1
  },
  success : function(i){
    if(i != 'succes'){
      alert(i);
    }
 }
}); 

服务器端响应:

switch($_POST['method']){
  case 'example':
    if($_POST['input'] == 1) {
      echo 'succes';
    } else {
      echo 'error';
      // or
      die('error');
    }
  break;
}

这只是感觉不够扎实。有谁知道捕获错误与消息相结合的好方法?

4

3 回答 3

1

如果您希望 AJAX 调用符合 HTTP 标准,请使用 PHP 中的标头函数发送在 HTTP 中定义的正确状态代码。将来,您可以从其他应用程序调用相同的 PHP 页面,而无需强制进行特定的错误处理。

如果错误是特定于应用程序的,则如前所述返回 json 编码的消息。

于 2012-07-26T14:58:13.953 回答
1

@Esailija 是正确的;返回 HTTP 状态代码,以便 jQuery 的 ajax 错误处理程序可以接收错误。

于 2012-07-26T14:50:29.030 回答
-3

使用 JSON:

$error = array(
    'error' => 'SOME_ERROR_DESCRIPTION',
    'message' => 'You have an error blabla'
);
echo json_encode($error);

在您的 JavaScript 中,您可以根据需要使用 JSON 对象来处理错误。

于 2012-07-26T14:50:16.300 回答