我正在使用CakePHP 2.3.6。在页面中,我有一个复选框。我想,当我选中复选框(点击它)时,ajax post请求将被发送到页面,一些数据将保存在db中,之后会出现成功的通知。当我取消选择它(再次点击它)时,ajax post请求将再次发送到该页面,一些数据将保存在db中,之后将显示成功的通知。所以,我的视图文件是这样的:
.
.
.
<form>
<label><input type="checkbox" class="item_id" />Save the data</label>
</form>
.
.
.
<?php $this->Js->get('.item_id')->event('onclick',$this->Js->request(array('controller'=>'items','action'=>'saveData',$item['Item']['id'],$another_id),array('async'=>true)));?>
在saveData()
函数中:
if($this->request->is('post')){
//save the data in the db
}
但是,当我点击复选框时,没有任何反应。
我在特定视图文件的末尾放置了用于ajax调用的php代码,而不是default
布局。而且,当我从浏览器中看到页面的源代码时(&#34;查看源代码&#34;选项),我没有看到任何应该由CakePHP生成的jQuery代码。
有什么问题?我该怎么办?我需要在我的数据库中保存一些数据并显示一些通知。
感谢。
答案 0 :(得分:0)
您是否已将Js助手包含在控制器中,如
public $helpers = array('Js' => array('Jquery'));
用你的javascript文件替换jquery。
还尝试在结束标记之前包含此行:
echo $this->Js->writeBuffer(); // Write cached scripts
打印缓存。