代码点火器:搜索自动完成 JSON 解析意外字符


Codeigniter: Search Autocomplete JSON Parse unexpected Character

我正在尝试在Codeigniter中使用jquery,jquery-ui实现搜索功能(自动完成),但是在输入字段中输入时遇到"JSON Parse意外字符错误"。

调用/user/search_userautocomplete/test 时,我确实在 JSON 中返回了一些值。

(警告:未声明 HTML 文档的字符编码。如果文档包含 US-ASCII 范围之外的字符,则文档在某些浏览器配置中将以乱码文本呈现。必须在文档或传输协议中声明页面的字符编码

它与内容类型有关吗?我真的被困在最后几个小时。如果有人知道我做错了什么,我将不胜感激。谢谢

控制器:

// Search User autocomplete
function search_userautocomplete($title)
{
    if(!empty($title) || isset($title))
    {
        $this->db->like('firstname',$title);
        //$this->db->or_like('lastname',$title);
        echo json_encode( $this->db->get('users_profiles')->result() );
    }
}

user_autocomplete.js

$(document).ready(
    function() {
        $('#search').keypress(
                function(e) {
                    if (e.which == 13) {
                        e.preventDefault();
                    }
                    var searched = $('#search').val()
                    var fullurl = $('#hiddenurl').val()
                            + 'user/search_userautocomplete/'
                            + searched;
                    $.getJSON(fullurl, function(result) {
                        var elements = [];
                        $.each(result, function(i, val) {
                            elements.push(val.title)
                        })
                        $('#search').autocomplete({
                            source : elements
                        })
                    })
                })
    })

searchfield_userautocomplete(查看)

<div class="row-fluid  tagline">
        <div class="span8">
            <form>
                <label for="search">Search</label> <input id="search" type="text">
                <input value="" id="hiddenurl" type="hidden"> <input
                    value="Submit" type="submit">
            </form>

            <script src="<?php echo base_url();?>js/jquery.js"
                type="text/javascript"></script>
            <script src="<?php echo base_url();?>js/jquery-ui.js"
                type="text/javascript"></script>
            <script src="<?php echo base_url();?>js/user_autocomplete.js"
                type="text/javascript"></script>
        </div>
    </div>
"

JSON 解析意外字符错误"的原因可能是 getJSON 的 url 构造不正确。我认为一定是:

var fullurl = $('#hiddenurl').val()
              + '/user/search_userautocomplete/'
              + searched;

至于字符编码错误,请参考以下内容:

未在 html 文档中声明字符编码