如何从servlet页面中的ajax请求获取数据?
问题描述:
如何从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页面。
答
首先,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");
// ...
但是我不知道它是多么有用重复过头和参数的数据...
@BalusC:谢谢您的回答,但我得到空值 – selladurai 2011-05-18 12:46:16
你解决'头'选项是'headers'?要在JavaScript端进行调试,请使用[Firebug](http://getfirebug.com)。为了在servlet端进行调试,可以通过'HttpServletRequest#getHeaderNames()'获取所有头名称,并通过'HttpServletRequest#getParameterNames()'获取所有参数名称。 – BalusC 2011-05-18 12:47:58
@BalusC:谢谢你的回答。现在我得到了值 – selladurai 2011-05-18 13:08:05