gpt4 book ai didi

javascript - jQuery 自动完成 ajax 请求不显示返回的数据

转载 作者:可可西里 更新时间:2023-11-01 13:27:49 25 4
gpt4 key购买 nike

当我在调试开发人员工具上看到 ajax 请求响应了数据,但数据未呈现在文本框中。如图所示,数据包含一些特殊字符。

响应函数究竟有什么问题?我应该将什么(比如 utf-8 编码)添加到 ajax 调用中以显示特殊字符?

enter image description here

html:

<select name="selCat">
<option>....</option>
</select>

<input class="col-3" type="text" id="txtPOI" name="txtPOI" />

j查询:

$("#txtPOI").autocomplete({
source: function(request, response) {
$.ajax({
url: '<?php echo site_url("crowd/get_POIs") ?>',
data: {cat: selectedCode, q: request.term},
dataType: "json",
type: "post",
success: function(data) {
response(data);
},
fail : function ( jqXHR, textStatus, errorThrown ) {
console.log(jqXHR);
console.log(textStatus);
console.log(errorThrown);
},minLength: 3
});
}
});

Controller :

function get_POIs(){
$cat = $this->input->post('cat');
$q = $this->input->post('q');
//echo $cat;

if (isset($cat) && isset($q)){
$cat = strtolower($cat);
$q = strtolower($q);
$data=$this->crowd->get_POIs($cat,$q);
//echo "aa";
$a_json = array();
if(count($data) > 0){
foreach ($data as $row){
$a_json_row["title"] = $row->title;
$a_json_row["contentid"] = $row->contentid;
$a_json_row["latitude"] = $row->latitude;
$a_json_row["longitude"] = $row->longitude;
array_push($a_json, $a_json_row);

}
echo json_encode($a_json);
}
}

}

型号:

function get_POIs($cat, $q){

$this->db->DISTINCT();
$this->db->select('title, a.contentid, latitude, longitude, address');
$this->db->from('attraction a');
$this->db->join('geographicdata g', 'a.contentid = g.contentid', 'left');
$this->db->where('cat3 = "'.$cat.'"');
$this->db->where('title like "%'.$q.'%"');
$this->db->order_by('title','ASC');
$query = $this->db->get()->result();
//die(var_dump($query));
//echo $this->db->get_compiled_select();
return $query;
}

最佳答案

我设法通过修改 success 事件中的代码解决了这个问题。这是我是如何做到的。

改变自

success: function(data) {
response(data);
}

success: function(data) {

response( $.map( data, function( item )
{
return{
label: item.title,
value: item.title,
contentid: item.contentid,
latitude: item.latitude,
longitude: item.longitude
}
}));

}

关于javascript - jQuery 自动完成 ajax 请求不显示返回的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32376922/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com