2011-05-18 80 views
4

如何從servlet頁面中的ajax請求獲取數據。在這裏我通過$.ajax來調用servlet。如何從servlet頁面中的ajax請求獲取數據?

var dataRequestObject= {}; 
       dataRequestObject= {Username:uname,Password:pword,Domain:domain,WindowsUser:windowsuser}; 

var dataRequestHeader= {}; 
       dataRequestHeader= {Username:uname,Password:pword,Domain:domain,WindowsUser:windowsuser}; 


    $.ajax({ 
      type:'POST', 
      url:'http://localhost:8090/SampleServlet1/serv', //calling servlet  
      cache:false, 
      header:dataRequestHeader, 
      data:dataRequestObject, 
      success:function(){ alert("Request Done");}, 
      error:function(xhr,ajaxOptions){ 
       alert(xhr.status + " :: " + xhr.statusText); 
       } 
      }); 

我需要這些數據和標題在setvlet頁面。

回答

4

首先,header選項無效。它需要是headers。另請參閱jQuery.ajax() documentation

您可以使用HttpServletRequest#getHeader()通過名稱獲取各個請求標題。

String headerUsername = request.getHeader("Username"); 
String headerPassword = request.getHeader("Password"); 
String headerDomain = request.getHeader("Domain"); 
String headerWindowsUser = request.getHeader("WindowsUser"); 
// ... 

您可以使用HttpServletRequest#getParameter()通過名稱獲取各個請求參數。

String paramUsername = request.getParameter("Username"); 
String paramPassword = request.getParameter("Password"); 
String paramDomain = request.getParameter("Domain"); 
String paramWindowsUser = request.getParameter("WindowsUser"); 
// ... 

但是我不知道它是多麼有用重複過頭和參數的數據...

+0

@BalusC:謝謝您的回答,但我得到空值 – selladurai 2011-05-18 12:46:16

+3

你解決'頭'選項是'headers'?要在JavaScript端進行調試,請使用[Firebug](http://getfirebug.com)。爲了在servlet端進行調試,可以通過'HttpServletRequest#getHeaderNames()'獲取所有頭名稱,並通過'HttpServletRequest#getParameterNames()'獲取所有參數名稱。 – BalusC 2011-05-18 12:47:58

+0

@BalusC:謝謝你的回答。現在我得到了值 – selladurai 2011-05-18 13:08:05

相關問題