4

How to get the data from ajax request in servlet page. Here I'm calling the servlet by $.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);
                } 
            });

I need those data and header in setvlet page.

1 Answer 1

4

First, the header option is invalid. It needs to be headers. See also the jQuery.ajax() documentation.

You can get the individual request headers by their name using HttpServletRequest#getHeader().

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

You can get the individual request parameters by their name using HttpServletRequest#getParameter().

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

I however wonder how useful it is to duplicate the data over headers and parameters...

Sign up to request clarification or add additional context in comments.

5 Comments

@BalusC: Thanks for your answer, but I'm getting null value
Did you fix the header option to be headers? To debug in the JavaScript side, use Firebug. To debug in the servlet side, you can get all header names by HttpServletRequest#getHeaderNames() and all parameter names by HttpServletRequest#getParameterNames().
@BalusC: Thanks for your answer. Now I got the value
@BalusC: When I put 's' in headers, I got the request header value but null in request parameter. what to do? When I remove 's', I get request parameter value but null in header? Please help me
This should not happen. I'd suspect a bug in your own code. Just debug it. Use Firebug to debug the HTTP traffic (headers, params, body, etc).

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.