2

私はケーキに比較的慣れておらず、どのチェックボックスがチェックされているかに基づいて製品を表示するために作成しているカスタムフィルターに苦労しています。チェックボックスは、ユーザーがバックエンドで作成した属性に基づいて入力されます。次に、選択したボックスのすべての値をjavascriptを使用して配列に収集し、コントローラーに投稿しますが、何らかの理由で「$」という名前のコントローラー変数にアクセスできません私の見解では、それは未定義の変数を通過します。これが私のjavascriptとajaxで、正しく収集して投稿します(コントローラーの「データ」に投稿する配列値があるので、それをfirebugすると)問題ありません

$("#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>';
  }

ヘルプや提案があれば、しばらくの間これに苦労していただければ幸いです

4

1 に答える 1