php - 完整的 AJAX 反馈

标签 php jquery ajax

我使用数据库记录管理构建 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/

相关文章:

javascript - 如何让页面点击下滑而不刷新

javascript - 如何将 jquery 事件重新绑定(bind)到通过 ajax 加载的内容,而无需为每个事件/类执行此操作

java - PHP 套接字连接被拒绝(Java 服务器)

php - 使用 codeigniter 将 IPv6 插入数据库

php - 如何正确获取 Symfony 3 中的 EntityManager?

jquery - 在 jquery 中单击更改多个类

jquery - ~ 用于删除多个元素的选择器

php - Google 本地搜索 PHP 到 Javascript

jquery - 悬停使用 jQuery 更改不相关元素的样式

javascript - jQuery:ajax函数的延迟间隔,直到上一次运行完成