我如何选择错误消息并显示它们。所有操作都有成功消息,也可能产生错误,我可以选择成功,但我没有选择错误消息。为什么我看不到事情的错误信息方面这是我到目前为止所尝试的
function ajax(action,id){
action = 'save';
if(action =="save")
data = $("#userinfo").serialize()+"&action="+action;
else if(action == "delete"){
data = "action="+action+"&item_id="+id;
}
$.ajax({
type: "GET",
url: "ajax.php",
data: data,
dataType: "json",
success: function(response){
if(response.success == "1"){
if(action == "save"){
$(".dert-form").fadeOut("fast",function(){
alert("here first");
});
}
else if(action == "delete"){
alert("here to delete");
}
}else{alert(response.msg);}
},
error: function(res){
alert("Unexpected error! Try again.");
}
});
}
这是我的ajax.php
/* Check for blanks */
foreach( as $field => $value)
{ if ($value == "")
{
$blanks[] = $field;
}
}
if(isset($blanks))
{
header('HTTP/1.1 409 Conflict');
exit("You have blank fields. Please enter the required information: ");
}
答案 0 :(得分:0)
使用HTTP状态代码。当您在PHP代码中设置以下响应代码时,它将在您的ajax调用上触发错误回调。
http_response_code(409);
答案 1 :(得分:0)
你会得到这样的
error: function(xhr, status, error) {
var err = eval("(" + xhr.responseText + ")");
alert(err.Message);
}
答案 2 :(得分:0)
ajax部分似乎没问题。错误可能在你的php函数中,但取决于你拥有的数据的内容,所以很难说。
无论如何,我认为评论正确的解决方案是在php响应中返回http错误代码非常重要,因此 jQuery会将响应评估为错误而不是成功