CakePHP - 链接中的Ajax和URL

时间:2014-08-05 06:35:24

标签: jquery ajax cakephp hyperlink

我有这个链接,点击时更新数据库中的字段:

echo $this->Js->link('LinkToCallAjax', '/posts/visitCountUpdate/'.$post['Post']['post_id'], array('update' => 'visit_'.$post['Post']['post_id']), null, false);

以及将转到指定网址的锚文本。

如何组合2,以便当我点击链接时,它会更新数据库中的字段,然后转到指定的URL?

已经尝试过onclick(location.href)并且它更新了数据库,但是因为cake正在搜索visitCountUpdate.ctp< - 控制器中的函数而得到错误。

有办法做到这一点吗?

1 个答案:

答案 0 :(得分:1)

将重定向放在要执行的函数中,并使链接成为一个帖子链接(这样就不需要关联.ctp文件) - 所以你先执行你想要的方法,然后再执行重定向到具有.ctp文件的操作。

在你的控制器中有:

public function SomeFunction($variableToPass) {
    //do something to do with the database (e.g. update records)
    return $this->redirect(
        array(
            'controller' => 'aController',
            'action' => 'anAction',
            $anotherVariableToPass
        )
    );
}

然后您的链接就像:

$this->Form->postLink(
    'Link Text',
    array(
        'controller' => 'posts',
        'action' => 'SomeFuntion',
        $variableToPass
    )
);