CakePHP Ajax删除

CakePHP Ajax删除,cakephp,cakephp-2.4,Cakephp,Cakephp 2.4,我试图通过ajax删除cakephp数据 <button class="del" id=<?php echo $user['User']['id']; ?>>Delete </delete> 我已经成功地获得了用户的id。现在我正试图在删除操作中将其发送给userscontroller。所以我编写了如下代码 $('document').ready(function(){ $('.del').click(function(){

我试图通过ajax删除cakephp数据

<button class="del" id=<?php echo $user['User']['id']; ?>>Delete </delete>
我已经成功地获得了用户的id。现在我正试图在删除操作中将其发送给userscontroller。所以我编写了如下代码

$('document').ready(function(){
        $('.del').click(function(){
            var x=$(this).attr("id");
            alert(x);
            jQuery.get("<?php echo $this->webroot . $this->params["users"]; ?>/delete",{"id":x},function(data,stat){
                                 jQuery("#success").load("success.ctp");
            });
        });
    });

在这里它不起作用。在控制器中如何定义它?

如果您使用before filter

function beforeFilter()
{
    //Here set Which pages should be accessable to various users
    $adminPages =array('delete');
    $this->Auth->allow($adminPages);

    ...... 
}
允许使用Auth Allow执行它

如果这也可以正常工作,请检查AJAX字符串是否正确。使用手动删除检查,如abc.com/Users/DELETE/id:2只需在jQuery.get中复制粘贴字符串u get。它是否正确删除

如果所有这些都不起作用,请尝试以下操作:

和ajax:

        jQuery.get("<?php echo $this->webroot . $this->params["users"].'/delete/';?>"+x+"",{"id":x},function(data,stat){
                             jQuery("#success").load("success.ctp");
        });

这里的错误是唯一的网址,我已经改变了它,现在它的工作良好

echo $this->webroot . $this->params["users"]; ?>/delete"

如果你想使用ajax,试试这个

浏览器生成的jQuery.get/delete,{id:x},functiondata,stat{jQuerysuccess.loadsuccess.ctp;};作为HTML?
public function delete($id=NUll) {
    $id=$_GET['id'];
    $this->User->id = $id;
    if ($this->User->delete()) {
        $this->Session->setFlash(__('The user has been deleted.'));
    } 
    return $this->redirect(array('action' => 'index'));
}
        jQuery.get("<?php echo $this->webroot . $this->params["users"].'/delete/';?>"+x+"",{"id":x},function(data,stat){
                             jQuery("#success").load("success.ctp");
        });
echo $this->webroot . $this->params["users"]; ?>/delete"
echo Router::url(array('controller'=>'users','action'=>'delete'));?>"
   public function delete_user() {
        $this->autoRender = false;
        if ($this->request->data) {

        $this->User->id = $this->request->data['id'];
        $update = $this->User->saveField($this->request->data['field'], $this->request->data['value']);
        if ($update) {
            $repsonce['success'] = '1';
            $this->Session->setFlash(__d('User', 'User Deleted successfully'), 'default', array('class' => 'alert alert-success'));
        } else {
            $repsonce['success'] = '0';
        }
    } else {

        $repsonce['success'] = '0';
    }
    echo json_encode($repsonce);
}