我使用数据库记录管理构建 JQuery/JS/PHP/mySQL 应用程序,需要在 AJAX 调用、修改后端数据库记录时向用户提供可靠且完整的反馈。恕我直言,问题是 $.ajax
success:
和 error:
函数仅指示 AJAX 传输层成功,而不是整个过程。数据库修改失败怎么办?如何向用户提供完整的反馈?
我结束了
$.ajax({ url: "/action/delete", data: "rowid="+rowid, complete: function(xmlHttp) { if ( xmlHttp.responseText ) alert('Success - back end returned "success"'); else alert('failure - back end returned NULL') } });
和 PHP 响应:
$success = deleteRecord( $_GET(rowid) ); if($success) { print 'success'; } else { print NULL; } exit();
这个想法很简单 - 如果我设法从后端获得积极反馈,那么整个操作就会成功,否则 - 用户不关心问题发生在哪里。
提前致谢,非常感谢您的反馈。
最佳答案
如果您使用一些 json 数据而不是一些新的 html 来响应请求以插入到 DOM 中,您可以将任何类型的错误代码和您喜欢的消息与数据一起放置。例如,如果您的回答是……
{
errorstate: 0,
errormsg: "All systems are go",
displaytext: "stuff I want to display when all goes well"
}
您的 javascript 代码可以检查此数据并执行它认为需要的任何操作。它还允许您将更多的错误处理推送到您的服务器脚本中,这通常可以更简单。
尝试 http://docs.jquery.com/Ajax/jQuery.getJSON#urldatacallback
关于php - 完整的 AJAX 反馈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/374061/