如何将jquery数组值发送到codeigniter控制器

时间:2014-01-09 13:52:50

标签: javascript php jquery arrays codeigniter

我正在通过jQuery传递数组

$.ajax({
    url: "<?php echo base_url();?>index.php/autocomplete/test_search?added_ids[]="+ids,

.....

以下是chrome

的网络文字

... /自动填充/ test_search added_ids [] = 5190,3574,5369&安培;术语= S

我必须在我的控制器中捕获此数组以运行类似

的查询
$selected = $this->input->get('added_ids');

$this->db->select('first_nm, last_nm , title');
$this->db->where_not_in('my_id', $selected);

但是对于数组中的第一个条目,它正在工作。 where_not_in 部分中未排除下一个元素。你能帮助我,我做错了吗?

3 个答案:

答案 0 :(得分:1)

使用 -

ids.join(", ");

并将它们作为字符串传递

答案 1 :(得分:1)

在Ajax调用中

$.ajax({
    url: "<?php echo base_url();?>index.php/autocomplete/test_search?added_ids="+ids.join("_"),

在控制器中

$selected = $this->input->get('added_ids');
$selected=explode('_',$selected);

$this->db->select('first_nm, last_nm , title');
$this->db->where_not_in('my_id', $selected);

您可以使用.join()来组合数组元素。在您的控制器中,您可以使用explode()

获取元素

答案 2 :(得分:0)

尝试  where_not_in()函数需要数组不是字符串。

$selected = $this->input->get('added_ids');
 $ids = explode(',',$selected[0]);
 $this->db->select('first_nm, last_nm , title');
 $this->db->where_not_in('my_id', $ids);

更多信息here