【发布时间】:2013-11-05 20:42:31
【问题描述】:
我的视图中有许多动态按钮,如下所示:
<ul id="dashboard_list">
<li id="id_100" class="btn btn-primary">
<a id="id_100" href="/plugin_name/controller_name/action_name/100">Default View</a>
</li>
<li id="id_200" class="btn btn-primary">
<a id="id_200" href="/plugin_name/controller_name/action_name/200">Second View</a>
</li>
<li id="id_300" class="btn btn-primary">
<a id="id_300" href="/plugin_name/controller_name/action_name/300">Third View</a>
</li>
</ul>
以上链接是使用JSHelper创建的,如下:
echo $this->Html->link($view->name, '/plugin_name/controller_name/action_name/'. $view->id, array('class' => 'ajax-link', 'id'=> $view->id));
我正在使用我在研究时发现的以下脚本:
// onClick function
function onClick(){
$('#view_container').load($(this).attr('href'), onSuccess);
return false;
}
// activate ajax links to call the onClick function
$('.ajax-link').live('click', onClick);
// onSuccess-callback function
function onSuccess(){}
现在,在我的控制器/动作中,我正在对数据进行简单的检查,如下所示:
function actionName() {
if ($this->data != null) {
die('We has data!');
}
else
{
die('We has no data.');
}
}
我的#view_container 元素在每次点击时都会正确更新为“我们没有数据”。所以,我显然没有在视图和控制器之间传递链接的视图 ID 号(数据)。
谁能提供一些关于如何在 CakePHP 1.3 中实现此功能以访问控制器中选定的 id(变量)的方向?我似乎主要是找到表单提交示例(或只是死链接),不幸的是我没有升级 cakePHP 的选项。
仅供参考:适当的帮助程序、脚本和 js->writeBuffer 都已包含在内。
感谢您提前回复!
【问题讨论】:
-
到目前为止,这是我的解决方案,它可能不遵循 cakePHP 方法,所以如果您有更“蛋糕”的方式来实现这一点,请随时做出回应。我有兴趣学习 alt 方法。由于我将 view_id 传递给链接中的 URL:
href="/plugin_name/controller_name/action_name/300"我只是调整了从 URL 中获取 id 作为 $view_id 的操作:function actionName($view_id) { if ($view_id != null) { die('We has data!'); } else { die('We has no data.'); } }
标签: ajax jquery cakephp-1.3