【发布时间】:2014-05-29 11:19:05
【问题描述】:
我正在使用 Js Helper,因此我可以从我的表中删除一条记录。 为此,在名为“myclients”的视图中,我使用了一个名为“Remove”的链接,因此当我单击它时,它将从我的表中删除一条记录,并将使用 ajax 更新表而不刷新我的页面。
<?php echo $this->Js->link(
'Remove',
'/Users/remove/'.$u['User']['id'].'/page:'.$this->Paginator->counter(array('format' => '%page%')),
array('target' => '_self', 'update' => '#my_listview', 'escape' => false, 'confirm' => 'Are you sure?'));
?>
按照我的控制器,我使用以下代码:
public function remove($id=null){
$this->User->id = $id;
if (!$this->User->exists()) {
$this->Session->setFlash(__('invalid user'), 'default', array ('class' => 'primary alert'));
throw new NotFoundException(__('invalid user'));
}
if ($this->User->delete()) {
$this->Paginator->settings = array(
'limit' => 10,
'order' => array(
'User.id' => 'asc'
)
);
$this->set('Users', $this->paginate('User'));
$this->render('myclients', 'ajax');
}
这似乎工作正常,但只有一次,它会删除并更新我的表格,但是当我第二次点击其他记录时,它会删除但不会更新我的表格,它会刷新我的页面和仅使用我的表格显示页面空白页面所有 CSS 似乎都没有加载。 请注意,确认问题仅在第一次出现。
提前致谢。
您可以在github 上看到我的看法。请注意,我放在 stackoverflow 上的代码被翻译成不同的名称,但遵循相同的逻辑。
【问题讨论】:
-
看来你有某种js问题。因此,第二次您不通过 ajax 调用删除操作,而是以“传统”方式点击链接。所以浏览器渲染
myclient视图。可以吗? -
对!似乎蛋糕正在寻找删除视图,但我想要一个 ajax 请求,我不需要创建删除视图。我想渲染我的客户视图。可能我必须通过传统方法来做到这一点..
-
尝试发布您的 myclients.ctp 文件
-
@arilia,我已经更新了我的问题。我没有翻译代码,但它遵循与这个问题相同的逻辑。
-
我没有在您的代码中看到我建议在下面的答案中添加的行。
标签: javascript php ajax cakephp