控制器代码:
public function auto_search() {
$search_data = $this->input->post('search_data');
//print_r($search_data); die();
$query = $this->search_model->autocomplete($search_data);
print_r($query); die();
foreach ($query->result() as $row):
echo $row->uid ;
echo $row->name ;
endforeach;
}
javascript:
<script type="text/javascript" src="js/jquery-1.8.0.min.js"></script>
<script type="text/javascript">
function ajaxSearch() {
var input_data = $('#search_data').val();
$.ajax({
type: "POST",
url: "/search/auto_search",
data: {search_data:input_data},
success: function(data1) {
alert(data1);
if (data1.length > 0) {
$('#suggestions').show();
$('#autoSuggestionsList').addClass('auto_list');
$('#autoSuggestionsList').html(data1);
}
}
});
}
</script>
在控制器中,当我打印print_r($search_data); die();
的search_data时,我没有得到任何结果。
我认为ajax调用不是进入控制器请为此提供解决方案
此外,当我在控制器中回显print_r($query) ;
的查询时,我没有得到任何结果。自动搜索也无效。请为此提供解决方案。
答案 0 :(得分:0)
我认为它是ajaxSearch函数没有运行。 你的尝试
public function auto_search()
{
$search_data = $this->input->post('search_data');
$query = $this->search_model->autocomplete($search_data);
if (!empty($query)) {
foreach ($query->result() as $row) {
echo $row->uid;
echo $row->name;
}
} else {
echo '';
}
}
<script type="text/javascript" src="js/jquery-1.8.0.min.js"></script>
<script type="text/javascript">
$(function () {
function ajaxSearch() {
var input_data = $('#search_data').val();
$.ajax({
type: "POST",
url: "/search/auto_search",
data: {search_data: input_data},
success: function (data1) {
alert(data1);
if (data1.length > 0) {
$('#suggestions').show();
$('#autoSuggestionsList').addClass('auto_list');
$('#autoSuggestionsList').html(data1);
}
}
});
}
// start ajaxSearch
ajaxSearch();
});
</script>
谢谢
答案 1 :(得分:0)
您需要将所有ur数据传递到数组中,然后将其转换为json_encode以获取有关编码的更多参考 - &gt; Live demo ..
这是您的示例代码。
$.ajax({
type: "POST",
url: "/search/auto_search",
data: {search_data:input_data},
success: function(data1) {
console.log(data1);
console.log(data1.keyname);
console.log(data1.keyname1);
if (data1.length > 0) {
$('#suggestions').show();
$('#autoSuggestionsList').addClass('auto_list');
$('#autoSuggestionsList').html(data1);
}
}
});
在你的jquery。
db.getCollection('players')
.find({'ratings.gameRatingType' : 'standard', 'ratings.rating' : { $gt: 234, $lt: 235 } })
试着看看你是浏览器控制台面板。并查看函数中检索到的数据,并尝试检查您的ajax网址是否正确。