使用AJAX / jQuery删除mysql中的行(Zend Framework 1.12)

时间:2016-04-06 16:32:30

标签: php jquery mysql ajax zend-framework

当按下Delete按钮时,我试图使用AJAX / jQuery删除我的MYSQL数据库中的一行。我正在使用Zend Framework 1.12。

直到我的代码的alert(del_id)部分 正常工作:当我按下删除按钮时,显示一个匹配id的窗口。

但是删除页面和我的数据库中的行的部分不起作用。有人能告诉我这个问题吗?

另外我对使用$ .ajax()和Zend有一些疑问:是否正确放入url我删除操作的视图脚本的路径?这样做会在我的控制器上调用我的deleteAction()函数吗?

这是使用java脚本的布局:

 <!-- application/views/scripts/users-data/adminpage.phtml -->

<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<script>
$(document).ready(

function(){
    $(".delete_class").click(
        function(){
            var del_id = $(this).attr('id');
            var rowElement = $(this).parent().parent(); 
            alert(del_id);
            $.ajax({type:'POST',
            url:'/users-data/delete.phtml',
            data: {'delete_id':del_id},
            success:function(data) {
            if(data=="YES") {   
                rowElement.fadeOut().remove(); 
                alert("success");
            }else { alert("erro");
            }}
            });     
        });
});

</script>
</head>


<body>
<center>

<?php         
echo "Users List";
?>

<table border="1">
<tr>
    <th>Name</th>
    <th>Email</th>

</tr>
<?php foreach($this->entries as $entry) : ?>
<tr>

    <td><?php echo $entry->name;?></td> 
    <td><?php echo $entry->email;?></td>
    <td><?php echo $entry->id;?></td>
    <td> <button id="<?php echo $entry->id; ?>" class="delete_class"> Delete</button></td>
</tr>

<?php endforeach; ?>
</table>

这是控制器中的代码:

我测试并使用过的deleteUser()函数。

public function deleteAction()
{
    //$id = $_POST['delete_id'];
    $request = $this->getRequest(); 
    $id= $request->getPost('delete_id');
    $mapper = new Application_Model_UsersDataMapper();
    $mapper->deleteUser($id);
}

1 个答案:

答案 0 :(得分:0)

我可以找出问题所在。想象中的问题是网址。

我替换了

url:'/users-data/delete.phtml',

通过

url:"<?php echo $this->url(array('controller' => 'users-data', 'action' => 'delete')); ?>",

并且如果我放了:data!=“YES”。