2014-09-25 83 views
-1

的$。員額INT的JSP如下:如何從控制器發送列表,以JSP作爲一個jquery Ajax響應

$(document).ready(function(){ 
     $("#searchtext").keyup(function(){ 
      $.post("search", 
        { 
         parameter:$("#searchtext").val() 
        }, 
        function(response){ 
         document.getElementsByTagName("html")[0].innerHTML=response; 

        }); 
     }); 
    }); 

控制器如下:

@RequestMapping("/search") 
    public @ResponseBody ModelAndView searchByUser(@RequestParam(value="parameter" , required=false) String bookAttributesLike){ 
     ModelAndView modelAndView = new ModelAndView("/homepage"); 
     if(bookAttributesLike == null) 
     { 
     } 
     else 
     { 
      try { 
        searchResults = bookManagerService.getBookList(bookAttributesLike); 
        modelAndView.addObject("message",searchResults); 
      } catch (NoResultFoundException e) { 
       modelAndView = new ModelAndView("/homepage"); 
       logger.info("No Book Found"); 
      } 
      catch (ServiceException e) { 
       modelAndView = new ModelAndView("/error"); 
       logger.error("Problem in fetching records"); 
      } 
     } 
     return modelAndView; 
} 
} 

現在我當我輸入一個單詞但頁面被刷新並且第一個字母消失時,我正在獲取該列表。那麼可以做些什麼來獲取列表並獲取文本框中的內容呢?

回答

0

將結果放在div中而不是重寫整個頁面。

變化:

document.getElementsByTagName("html")[0].innerHTML=response; 

喜歡的東西:

document.getElementById("myDiv").innerHTML = response; 

當然,你現在需要定義頁面一個div:

<div id='myDiv'></div> 
相關問題