我有jQuery自動完成與CodeIngiter完美工作時莫名其妙地完全停止運作。當我訪問控制器的自動完成時,我仍然看到正確的數組 - Javascript只是沒有返回JSON數據。是什麼讓這個奇怪的是,它工作正常,然後突然間停止工作。在jQuery自動完成只是...停止工作?
這裏是我的javascript:
$("#clubs-complete").autocomplete({
source: function(request, response) {
$.ajax({
url: 'http://www.myurl.com/create/autocomplete',
data: 'term='+$("#clubs-complete").val(),
dataType: "json",
type: "POST",
success: function(data){
alert(data);
response(data);
}
});
},
minLength: 1
});
這裏是我的控制器:
public function autocomplete()
{
// Search term from jQuery
$term = $this->input->post('term');
$this->db->select('name','address2');
$this->db->from('clubs');
$this->db->like('name', $term);
$suggestions = $this->db->get()->result();
if (count($suggestions) > 0) {
$data = array();
foreach ($suggestions as $suggestion) {
array_push($data, $suggestion->name);
}
// Return data
echo json_encode($data);
}
}
沒有人有任何想法是怎麼回事? javascript函數中的警報現在不會返回任何內容,並且它已經習慣了。當我直接訪問URL時,我仍然可以看到完整的數組。
請幫忙,我把我的頭髮撕掉了。
有任何改變,要麼在你的控制(jQuery版本等)或可能不受你的控制? (網絡服務器更改)? – 2011-05-13 19:05:00
使用firebug for firefox來調試 – Matthew 2011-05-13 19:09:28
沒有任何改變,不幸的是...它工作,然後它不是,當我編輯代碼的另一部分。當我恢復SVN時 - 沒有任何變化。 – Walker 2011-05-13 19:44:21