2012-05-18 54 views
1

我有jQuery自动完成功能的问题。如果我指定一个不重定向的源代码,我的自动完成功能可以毫无问题地工作(这是在我的测试环境中)。对于生产,这必须在我们的工作流程工具中使用。jquery自动完成源重定向

jquery源代码页也写在这个工作流工具中,并输出数据。唯一的问题是,当我使用GET参数调用此输出页面时,它将我重定向到包含JSON结果的另一个页面。

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对“源”url进行了适当的调用,但随后被重定向到另一个URL(显示的结果是我搜索的)。

那么,我该如何处理jquery中的源代码,该代码重定向到实际输出?

总结

  1. jQuery的发送数据这样http://source/persons.ivp?callback=jquery87346&search=John
  2. 工作流工具需要的参数,对其进行处理,并重定向到一个新的URL http://source/L84FJ8LA4LS/CMSObject.ivc?taskId=84&processId=LKIA47&pid=KS4U6T84LSZ
  3. 新的URL中包含了参数的结果John
  4. jQuery不处理由于302 permanently moved重定向导致的结果。

我无法改变这个工作流程工具的行为。所以我必须用jQuery解决这个问题。

更新:我注意到,输出JSON数据,html编码我的输出,这似乎打扰jQuery的JSP文件。有没有人知道我如何在JSP中打印数据而不用 html-encoding呢?

它的外观时,我认为输出页面的源代码: 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

事实证明,这个问题是不是重定向。事实是这个工具逃脱了整个数据。在我发现如何防止他这样做后,一切正常。