假设我正在对某些cakePHP控制器操作进行ajax调用,以从数据库中删除一些数据.但在我删除数据之前(当然在我的cakePHP控制器操作中发生),我想检查请求删除数据的用户是否有权这样做.我要做的是向用户显示执行步骤,例如我有这样的事情:
$.ajax({
type: 'POST',
url: '.../some_cakePHP_controller_action',
beforeSend: function(){
$("my_loading_div").html("Checking permissions...");
}
success: function(){
// do stuff on success
}
});
1-当用户点击DELETE时,我想向他显示一个加载div,其中包含检查权限等消息…
现在,正如您在上面看到的,问题是当用户单击DELETE时,他将显示消息Checking permissions ….,但我的数据可能已被删除,因为我已经在我的cakePHP函数中.因此,用户将收到错误的消息.我该如何实现这种行为?
在此先感谢您的帮助
解决方法:
你需要多次ajax调用.步骤将是这样的,
> ajax调用检查权限.
>在PHP结束时检查你是否拥有is_writable功能的删除权限.
>返回上一步的状态并将其显示为ajax响应
>根据步骤3的状态.通过ajax将删除请求发送给PHP
>在PHP结束时拨打unlink.然后在file_exists再次检查文件是否存在
>返回上一步的状态并相应地向用户显示消息