0

我正在使用 Codeigniter 为用户名创建自动完成功能:

使用参数: search-user?term=s 我得到以下数据作为 Json :

{"id":"1","value":"Stuart Blackett"}{"id":"2","value":"Simon Wilton"}

在此处输入图像描述

但是,当我运行自动选择时,在搜索“St”时,它会在选项中按名称返回,而且还会返回 ID。

我该如何防止这种情况发生?我怀疑我的循环可能是问题所在。

我的 PHP 函数如下:

function search_user()
    {
            $term = $this->input->get('term');

            $user_search = $this->vendor_model->search_user($term);

            $user['response'] = 'false';

            if(count($user_search) > 0)
            {
                $user['response'] = 'true';
                $user = array();
                foreach($user_search as $user)
                {
                    $user = array(
                        'id'        => $user->user_id,
                        'value' => $user->user_firstname .' '. $user->user_surname
                    );

                    echo json_encode($user);
                }
            }
    }
4

1 回答 1

1

{"id":"1","value":"Stuart Blackett"}{"id":"2","value":"Simon Wilton"}不是有效的 JSON。

尝试不要分别回显每个$user的信息 - 相反,构建一个新的数组usersjson_encode()那个数组。例子:

foreach($user_search as $user) {
    $users[] = array(
        'id'    => $user->user_id,
        'value' => $user->user_firstname .' '. $user->user_surname
    );
}

echo json_encode($users);
于 2013-06-18T13:47:37.940 回答