$.ajax有两个返回:成功和错误。
如果$.ajax调用一个php模块,如何分派成功和错误的响应?
例如:
如果此行代码返回错误:
$connection = mysql_connect($server,$user,$password);
我希望在ajax-error中收到错误
如果php模块的执行是正确的,那么我希望在ajax-sucess中收到一条消息。
如果我从PHP发送echo " message“,我总是收到ajax-success格式的消息,我必须测试什么是成功,什么不是!
发布于 2012-04-22 21:20:53
从jQuery ajax documentation
错误(jqXHR、textStatus、errorThrown)
如果请求失败,则调用的函数。..。
在服务器端,请求已经成功。通常,结果回调将是成功处理程序,而不是错误处理程序。
您应该在ajax-success处理程序中处理mysql_connect错误。
发布于 2012-04-22 21:22:54
我认为,只有当ajax调用不起作用时,ajax错误回调才会返回错误,而不是如果(成功地'ajaxed')脚本中的某些东西(如您的示例中的sql命令)不起作用时返回错误。
但是,要处理来自ajax成功回调函数中数据的sql错误,您可以解析返回的数据。我的意思是,您可以在脚本输出中创建一个id='sql_error‘的div,然后读取该div的内容。如果没有sql错误,那么error div的内容必须为零。
像这样的东西,可能(未测试):
$.get(url, function (data) {
var sql_error = $("#sql_error", data).html();
// or var content = $("#error", $(data)).html();
// you can then show output in the way you want, depending on sql_error
});
发布于 2012-04-23 14:05:07
试试这个..。(已测试)。在服务器端的错误条件中使用它。
header('403 Forbidden', true, 403);
die('forbiden to log in. No authorization');
这将调用错误函数。根据需要设置状态码和消息。
https://stackoverflow.com/questions/10268210
复制相似问题