Php 未捕获的类型错误。Item.replace不是一个函数,自动完成插件

Php 未捕获的类型错误。Item.replace不是一个函数,自动完成插件,php,jquery,json,ajax,autocomplete,Php,Jquery,Json,Ajax,Autocomplete,我正在使用jQuery插件autoComplete,我正在尝试使用他们的ajax请求,不幸的是,我遇到了一个错误 上面说 item.replace不是object.renderItem上的函数 还有我的PHP响应 $recipient = $_GET['q']; $a_json = array(); $a_json_row = array(); //restrict the store $query_filter = $db->query("SELECT * from master_d

我正在使用jQuery插件autoComplete,我正在尝试使用他们的ajax请求,不幸的是,我遇到了一个错误

上面说

item.replace不是object.renderItem上的函数

还有我的PHP响应

$recipient = $_GET['q'];
$a_json = array();
$a_json_row = array();


//restrict the store
$query_filter = $db->query("SELECT * from master_data.user_account where Name like '%$recipient%'");
while($result_filter = $query_filter->whileFetch()){
    $name = htmlentities(stripcslashes($result_filter['Name']));
    $user_id = htmlentities(stripcslashes($result_filter['user_id']));    
    $a_json_row['user_id'] = $user_id;
    $a_json_row['value'] = $name;
    $a_json_row['label'] = $name;
    array_push($a_json, $a_json_row);
}

echo json_encode($a_json);
flush();
下面是JSON输出

[
   {"user_id":"5","value":"Melde Feliciano   ","label":"Melde Feliciano   "},
   {"user_id":"46","value":"Melanie Charlton ","label":"Melanie Charlton "}
]

renderItem(项目,搜索)
中的
item
是一个对象。尝试将
item.replace()
替换为
item.label.replace()

$.fn.autoComplete.defaults={
资料来源:0,
明查斯:3,
延误:150,
缓存:1,
菜单类:“”,
renderItem:函数(项,搜索){
//转义特殊字符
search=search.replace(/[-\/\^$*+.()|[\]{}]/g,\\$&');
var re=new RegExp(“(“+search.split(“”).join(“|”)+”,“gi”);
返回“”+项目.标签.替换(重“$1”)+”;
},
onSelect:function(e,term,item){}
};

你的错误是说
.replace
不是一个函数,你在找
str_replace()
?哎呀,我把php和JS混在一起了,很抱歉是凌晨2点lol:)看看这个问题,看看它是否对你有帮助!“数据”在响应(数据)中等于什么?您能在调用该函数之前将其console.log记录下来吗?
$recipient = $_GET['q'];
$a_json = array();
$a_json_row = array();


//restrict the store
$query_filter = $db->query("SELECT * from master_data.user_account where Name like '%$recipient%'");
while($result_filter = $query_filter->whileFetch()){
    $name = htmlentities(stripcslashes($result_filter['Name']));
    $user_id = htmlentities(stripcslashes($result_filter['user_id']));    
    $a_json_row['user_id'] = $user_id;
    $a_json_row['value'] = $name;
    $a_json_row['label'] = $name;
    array_push($a_json, $a_json_row);
}

echo json_encode($a_json);
flush();
[
   {"user_id":"5","value":"Melde Feliciano   ","label":"Melde Feliciano   "},
   {"user_id":"46","value":"Melanie Charlton ","label":"Melanie Charlton "}
]
$.fn.autoComplete.defaults = {
    source: 0,
    minChars: 3,
    delay: 150,
    cache: 1,
    menuClass: '',
    renderItem: function (item, search){
        // escape special characters
        search = search.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
        var re = new RegExp("(" + search.split(' ').join('|') + ")", "gi");
        return '<div class="autocomplete-suggestion" data-val="' + item.value + '">' + item.label.replace(re, "<b>$1</b>") + '</div>';
    },
    onSelect: function(e, term, item){}
};