2012-05-18 4 views
1

jquery 자동 완성 기능에 문제가 있습니다. 리디렉션하지 않는 소스를 지정하면 내 자동 완성 기능이 문제없이 작동합니다 (테스트 환경에 있음). 프로덕션 환경에서는 워크 플로 도구에서 작동해야합니다.jquery 자동 완성 소스 리디렉션

jquery 소스의 페이지도이 워크 플로 도구에 기록되고 데이터가 출력됩니다. 문제는 GET 매개 변수가있는이 출력 페이지를 호출하면 JSON 결과가 포함 된 다른 페이지로 리디렉션된다는 것입니다.

jquery에는 제안이 없기 때문에 jquery에 문제가있는 것 같습니다.

입력 필드에 대한 JQuery와 있습니다 :

$(function() { 
     $("#unameLeiter").autocomplete({ 
      source: function(request, response) { 
       $.ajax({ 
        url: "http://localhost:8082/ivy/pro/designer/ldapCurrent2/137553578A7A2B3F/persons.ivp", 
        dataType: "jsonp", 
        data: { 
         search: request.term 
        }, 
        success: function(data) { 
         response($.map(data.persons, function(item) { 
          return { 
           label: item.cn, 
           value: item.imPersonalNumber 
          } 
         })); 
        } 


    }); 
     }, 
     minLength: 0, 
     select: function(event, ui) { 
      $("<div/>").text(ui.item.label + " " + ui.item.value).prependTo("#output"); 
     } 
    }) 
}) 

는 HTML 꽤 불쾌한 보이지만, 바로 입력 필드와 출력 사업부가 이후 즉, 중요한 부분이 아니다. 네트워크 요청을 볼 때 jquery가 "source"URL에 대한 적절한 호출을하지만 다른 URL로 리디렉션되는 것을 볼 수 있습니다 (검색 결과에 나와있는 결과가 표시됨).

그렇다면 실제 출력으로 리디렉션되는 jquery의 소스는 어떻게 처리합니까?

  1. JQuery와이 http://source/persons.ivp?callback=jquery87346&search=John
  2. 워크 플로우 도구와 같은 데이터를 전송 요약은 매개 변수를 사용을 처리하고 http://source/L84FJ8LA4LS/CMSObject.ivc?taskId=84&processId=LKIA47&pid=KS4U6T84LSZ
  3. 새로운 URL 매개 변수에 대한 결과를 포함하는 새 URL로 리디렉션 John
  4. 302 permanently moved 리디렉션으로 인해 jQuery에서 결과를 처리하지 못합니다.

이 워크 플로 도구의 동작을 변경할 방법이 없습니다. 그래서 이것을 jQuery로 해결해야 할 것이다.

업데이트 : JSON 데이터를 출력하는 JSP 파일이 내 출력을 html로 인코딩하여 jquery를 방해하는 것으로 나타났습니다. 아무도 내가 HTML 인코딩없이 JSP로 데이터를 인쇄 할 수있는 방법을 알고 있습니까? jquery1234({&quot;total&quot;:&quot;2&quot;, &quot;persons&quot;:[{&quot;cn&quot;:&quot;John Smith&quot;, &quot;imPersonalNumber&quot;:&quot;5616&quot;},{&quot;cn&quot;:&quot;Peter Jackson&quot;, &quot;imPersonalNumber&quot;:&quot;7016743&quot;}]})

가 정상적으로 보이는 방법 :

jquery1234({"total":"2", "persons":[{"cn":"John Smith", "imPersonalNumber":"5616"},{"cn":"Peter Jackson", "imPersonalNumber":"7016743"}]}) 

답변

1

그것을 알고 보니, 문제가 리디렉션 아니었다 I 출력 페이지의 소스 코드를 볼 때 보이는 방법

. 도구가 전체 데이터를 이스케이프 처리 한 것은 사실이었습니다. 그렇게하지 못하게하는 방법을 찾았 으면 모든 것이 잘 작동했습니다.