Java servlet's request parameter's name set to entire json object

Posted by Geren White on Stack Overflow See other posts from Stack Overflow or by Geren White
Published on 2012-10-19T16:57:56Z Indexed on 2012/10/19 17:00 UTC
Read the original article Hit count: 156

Filed under:
|
|
|

I'm sending a json object through ajax to a java servlet. The json object is key-value type with three keys that point to arrays and a key that points to a single string. I build it in javascript like this:

var jsonObject = {"arrayOne": arrayOne, "arrayTwo": arrayTwo, "arrayThree": arrThree, "string": stringVar};

I then send it to a java servlet using ajax as follows:

httpRequest.open('POST', url, true);  
httpRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");  
httpRequest.setRequestHeader("Connection", "close");  
var jsonString = jsonObject.toJSONString();   
httpRequest.send(jsonString);

This will send the string to my servlet, but It isn't showing as I expect it to. The whole json string gets set to the name of one of my request's parameters. So in my servlet if I do request.getParameterNames(); It will return an enumeration with one of the table entries' key's to be the entire object contents. I may be mistaken, but my thought was that it should set each key to a different parameter name. So I should have 4 parameters, arrayOne, arrayTwo, arrayThree, and string. Am I doing something wrong or is my thinking off here? Any help is appreciated.

Thanks

© Stack Overflow or respective owner

Related posts about JavaScript

Related posts about AJAX