2012-01-18 2 views
3

jquery와 함께 solr을 사용하여 자동 압축을 시도합니다. 예기치 않은 토큰 : JSON 데이터의 I 크롬Jquery를 사용하여 JSON을 구문 분석 할 수 없습니다.

catch되지 않은 구문 에러에서 실행하는 동안

$ (함수() {

$("#artist").autocomplete({ 
     source: function(request, response) { 
      $.ajax({ 
       url: 'http://localhost:8983/solr/terms?terms.fl=heading&terms.prefix=' 
       +request.term+'&wt=json&json.nl=map', 

       dataType: "jsonp", 

       data: { 
        q: request.term, 
        rows: 10, 
        omitHeader: true, 
       }, 
       success: function(data) { 
        response($.map(data.terms.heading, function(item) { 
         return { 
          label: item, 
          value: item 
         } 
        } 
        ) 
        ); 
       } 
      }); 
     }, 

     minLength: 2, 
     select: function(event, ui) { 
      log(ui.item ? 
       "Selected: " + ui.item.label : 
       "Nothing selected, input was " + this.value); 
     }, 
     open: function() { 
      $(this).removeClass("ui-corner-all").addClass("ui-corner-top"); 
     }, 
     close: function() { 
      $(this).removeClass("ui-corner-top").addClass("ui-corner-all"); 
     } 

    }); 
}); 

나는 다음과 같은 오류가 점점 오전 :이를 위해 나는 아래의 코드를 작성 나는 점점이

{ "용어": { "제목": { "대답": 24, "안사리"5}}}입니다

내가 다음 링크를 협의 http://jqueryui.com/demos/autocomplete/#remote-jsonp하지만 솔루션을 찾을 수 없습니다. 제가 잘못하고있는 것을 제안하십시오

+0

당신이 잘못된이 게시 한 코드에서

더 ")};" 결국. 또한 dataType : "jsonp"이 아니라 "jsonp"가 아니어야합니다. – CBusBus

+0

아마도 $ .map을 시도해보십시오 (data.d.terms.heading, function (item) –

+0

) jquery 문자열을 게시 할 수 있습니까? –

답변

3

당신은 십자가 원천에 접근하기 위해 JSONP를 (정확하게) 지정했으나, 당신은 순수한 JSON 대신에 JSONP를 방출한다고 Solr에게 말하지 않았습니다.

에 매개 변수에 jsonp: 'json.wrf'을 추가하십시오. http://xplus3.net/2010/09/21/solr-and-jsonp/

+0

답변 해 주셔서 감사합니다. – sid

+0

jsonp : 'json.wrf'가 아니라 json : 'json .wrf "첨부 링크가 맞지만 인용 된 대답이 잘못되었습니다. –

+0

@BalajiNatarajan thanks - corrected – Alnitak

관련 문제