2012-05-18 97 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

事實證明,這個問題是不是重定向。事實是這個工具逃脫了整個數據。在我發現如何防止他這樣做後,一切正常。