I'm new to java and I struggling with this problem for 2 days and finally decided to ask here.
I am trying to read data sent by jQuery so i can use it in my servlet
jQuery
var test = [ {pv: 1000, bv: 2000, mp: 3000, cp: 5000}, {pv: 2500, bv: 3500, mp: 2000, cp: 4444} ]; $.ajax({ type: 'post', url: 'masterpaket', dataType: 'JSON', data: 'loadProds=1&'+test, //NB: request.getParameter("loadProds") only return 1, i need to read value of var test success: function(data) { }, error: function(data) { alert('fail'); } });
Servlet
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { if (request.getParameter("loadProds") != null) { //how do i can get the value of pv, bv, mp ,cp } }
I really appreciate any help you can provide.
jQuery getJSON() Method The getJSON() method is used to get JSON data using an AJAX HTTP GET request.
setContentType("application/json"); response. setCharacterEncoding("UTF-8"); PrintWriter out = response. getWriter(); String jsondata = new Gson(). toJson(cntrs); // out.
Advertisements. AJAX is Asynchronous JavaScript and XML, which is used on the client side as a group of interrelated web development techniques, in order to create asynchronous web applications.
You won't be able to parse it on the server unless you send it properly:
$.ajax({ type: 'get', // it's easier to read GET request parameters url: 'masterpaket', dataType: 'JSON', data: { loadProds: 1, test: JSON.stringify(test) // look here! }, success: function(data) { }, error: function(data) { alert('fail'); } });
You must use JSON.stringify
to send your JavaScript object as JSON string.
And then on the server:
String json = request.getParameter("test");
You can parse the json
string by hand, or using any library (I would recommend gson).
You will have to use the JSON parser to parse the data into the Servlet
import org.json.simple.JSONObject; // this parses the json JSONObject jObj = new JSONObject(request.getParameter("loadProds")); Iterator it = jObj.keys(); //gets all the keys while(it.hasNext()) { String key = it.next(); // get key Object o = jObj.get(key); // get value System.out.println(key + " : " + o); // print the key and value }
You will need a json library (e.g Jackson) to parse the json
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With