我对蛋糕比较陌生,我正在努力使用我制作的自定义过滤器,以便根据选中的复选框显示产品。复选框根据用户在后端创建的属性填充,然后我将所选框的所有值收集到带有 javascript 的数组中并将其发布到控制器,但由于某种原因,我无法访问名为 '$ 的控制器变量find_tags' 在我看来,它通过未定义的变量。这是我的 javascript 和 ajax,它们正确收集和发布(当我在我的控制器中触发它的“数据”时,我发布的数组值是数组值)所以没关系
$("#clickme").click(function(event){
event.preventDefault();
var searchIDs = $("#checkboxes input:checkbox:checked").map(function(){
return $(this).val();
}).get();
var contentType = "application/x-www-form-urlencoded";
var data = 'data[ID]='+searchIDs;
$.post("",data,function(data){
console.log(data);
});
});
这是我的控制器代码,我假设是故障所在
if ($this->request->is('post') ) {
$data = $this->request->data['ID'];
$find_tags = array();
$selected_tags = $data;
foreach($selected_tags as $tag)
{
array_push($find_tags,$this->Product->findByTag($tag));
$this->set('find_tags', _($find_tags));
}
}
这是我得到未定义变量的视图代码:find_tags
foreach($find_tags as $all_tag)
{
echo $all_tag['Product']['name'];
echo '</br>';
}
任何帮助或建议将不胜感激现在已经为此苦苦挣扎了一段时间