假设我正在对一些 cakePHP Controller 操作进行 ajax 调用,以从数据库中删除一些数据。但在我删除数据之前(这当然发生在我的 cakePHP Controller 操作中),我想检查请求删除数据的用户是否具有这样做的权限。我想做的是向用户显示执行步骤,例如我有这样的东西:
$.ajax({
type: 'POST',
url: '.../some_cakePHP_controller_action',
beforeSend: function(){
$("my_loading_div").html("Checking permissions...");
}
success: function(){
// do stuff on success
}
});
1- 当用户点击删除时,我想向他展示一个正在加载的 div,其中包含一条消息,如 Checking permissions...
2- 如果用户有权删除数据,消息会更改为 Removing data...
现在,正如您在上面看到的,问题是当用户单击“删除”时,他将收到消息Checking permissions....
,但我的数据可能已被删除,因为我'我已经在我的 cakePHP 函数中了。因此,用户将收到错误消息。请问我该如何实现这种行为?
在此先感谢您的帮助
最佳答案
为此您需要多次 ajax 调用。步骤大概是这样的,
- ajax 调用以检查权限。
- 在 php 端检查你是否有删除权限 is_writable功能。
- 返回上一步的状态并将其显示为 ajax 响应
- 根据步骤3的状态,通过ajax向php发送删除请求
- 调用unlink在 php 端。然后通过 file_exists 再次检查文件是否存在
- 返回上一步的状态并相应地向用户显示消息
关于php - 显示 jquery ajax 执行状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9743664/