我一直在寻找一种简单、干净、灵活的方法,在POST
或GET
请求后将错误返回到浏览器。
带有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;
}
这感觉不够扎实。有人知道捕捉错误和消息的好方法吗?
@Esailija是正确的;返回HTTP状态代码,以便jQuery的ajax错误处理程序可以接收错误。
如果您希望AJAX调用符合HTTP标准,请使用PHP中的头函数发送在HTTP中定义的正确状态代码。将来,您可以从其他应用程序调用相同的PHP页面,而无需强制执行特定的错误处理。
如果错误是特定于应用程序的,那么如前所述返回一条json编码的消息。
使用JSON:
$error = array(
'error' => 'SOME_ERROR_DESCRIPTION',
'message' => 'You have an error blabla'
);
echo json_encode($error);
从您的JavaScript,您可以使用JSON对象来处理您喜欢的错误。