Codeigniter で jquery,jquery-ui を使用して検索機能 (オートコンプリート) を実装しようとしていますが、入力フィールドに入力すると「 JSON 解析の予期しない文字エラー」が発生します。
/user/search_userautocomplete/testを呼び出すと、JSON でいくつかの値が返されます。
(警告: HTML ドキュメントの文字エンコーディングが宣言されていません。ドキュメントに US-ASCII 範囲外の文字が含まれている場合、一部のブラウザ構成では文字化けしたテキストが表示されます。ページの文字エンコーディングは、ドキュメントまたは転送プロトコルで。)
Content-Type と何か関係がありますか? 私は本当に最後の数時間立ち往生しています。誰かが私が間違っていることを知っていれば、本当に感謝しています。ありがとう
コントローラ:
// 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>