2014-11-16 6 views
0

자동 완성 검색을 시도했습니다.오류 : 구문 오류, 인식 할 수없는 표현 : <a/> Jquery UI

$(function() { 
 
    
 
    $("#search").autocomplete({ 
 
     source: function(request, response) { 
 
      $.ajax(
 
      { 
 
       url: 'autocomplete.php', 
 
       dataType: "json", 
 
       data: 
 
       { 
 
        term: request.term, 
 
       }, 
 
       success: function (data) 
 
       { 
 
        response(data); 
 
       }, 
 
       error: function (err) { 
 
        console.log("AJAX error in request: " + JSON.stringify(err, null, 2)); 
 
       } 
 
      }); 
 
     }, 
 
     minLength: 2, 
 
     select: function(event, ui) { 
 
      var url = ui.item.id; 
 
      if(url != '#') { 
 
       location.href = '/blog/' + url; 
 
      } 
 
     }, 
 
     html: true, 
 
     open: function(event, ui) { 
 
      alert("open"); 
 
      $(".ui-autocomplete").css("z-index", 1000); 
 
     } 
 
    }); 
 
    
 
});

JSON 인코딩 된 데이터를 반환 autocomplete.php 파일 : 그러므로 나는 JQuery와 UI와 코드의이 작은 조각을 사용했다.

내 문제는 유효한 모든 응답과 결과에 대해 "오류 : 구문 오류, 인식 할 수없는 표현 :"오류가 발생하며 결과가 목록에 표시되지 않는다는 것입니다. 그 오류는 무엇을 의미합니까?

고맙습니다.

+0

콘솔에서보세요, 그것의 오류 라인을 보여줍니다. – feesar

+0

반환되는 데이터가 UI 문서 당 예상 데이터 형식과 일치합니까? – charlietfl

+1

으로 변경하십시오. – Jinandra

답변

0

가 당신의 성공 함수에서 또한

$(document).ready(function() { 
    /*here comes your code*/ 
}); 

를 사용하려고

success: function (data) 
      { 
       alert(data.d); 
      }, 

로 변경하려고합니다. d는 데이터 개체의 속성을 나타냅니다.

0

당신은 문제를 식별 할 수있는 모든 정보를 제공하지 않았다, 그러나 당신은 당신의 success 함수의 시작 부분에

console.log(data); 

전화하여 콘솔의 응답에 보일 것입니다. </a> 대신에 <a/>의 잘못된 구문을 사용하여 PHP가 요청 응답을 생성하거나 전달한 함수에서 response으로 전달해야합니다. 당신이 D하지 데이터를 반환하기 때문에

관련 문제