2011-05-13 4 views
4

jQuery 자동 완성 기능을 CodeIngiter와 완벽하게 작동 시켰습니다. 설명이 불가능할 때 완전히 작동을 멈췄습니다. 자동 완성을위한 컨트롤러를 방문 할 때 올바른 배열이 여전히 표시됩니다. Javascript는 JSON 데이터를 반환하지 않습니다. 이상하게 만드는 것은 그것이 잘 작동했다는 것입니다. 그리고 나서 파란 옷에서 일하는 것이 멈췄습니다.jQuery에서 자동 완성 ... 작동이 중지 되었습니까?

여기 내 자바 스크립트입니다 :

$("#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을 직접 방문하면 배열 전체가 계속 표시됩니다.

제발, 제 머리를 찢어 내고 있습니다.

+1

은 컨트롤 (jQuery 버전 등) 또는 컨트롤에서 벗어난 것이 있습니까? (웹 서버 변경)? –

+0

firefox for firefox를 사용하여 이것을 디버그합니다. – Matthew

+0

불행히도 아무 것도 변경되지 않았습니다 ... 코드가 작동하고 있었는데 코드의 다른 부분을 편집하는 동안 작동하지 않았습니다. SVN에서 되돌릴 때 - 아무것도 바뀌지 않습니다. – Walker

답변

4

IE에서 F12 키를 누르면 developer tools을 사용할 수 있습니다. Firefox에는 Firebug과 비슷한 것이 있습니다. 이 중 하나에서 당신은 브라우저에서 자바 스크립트를 디버깅 할 수 있습니다. 소스 fn 내부와 성공 함수 내에서 중단 점을 설정하면 약간의 통찰력을 줄 수 있습니다.

Fiddler2 또는 Charles와 같은 http 디버깅 프록시를 사용하여 나가는 HTTP 요청 및 해당 응답을 볼 수도 있습니다. Fiddler2는 Windows에서 실행되며 FF 및 IE와 거의 모든 다른 http 클라이언트에서 작동합니다. 이렇게하면 AJAX 서비스가 브라우저 내 JavaScript로 반환하는 메시지를 볼 수 있습니다.

이러한 것들은 당신에게 "작동하지 않는"문제에 대한 통찰력을 제공해야합니다.

관련 문제