ajax - Display a JSON object made in java in jsp using javascript -
hello trying make json object in java , want display same json object in jsp using javascript. basically, want add 2 more options in select box using ajax. ajax getting called , in response cans see following o/p not able add vales in dropdown. please help... want javascript only.
{"value1":"label1","value2":"label2"} java code:
map<string, string> options = new linkedhashmap<string, string>(); options.put("value1", "label1"); options.put("value2", "label2"); string json = new gson().tojson(options); // json = "dataobject: [" +json+ "]"; system.out.println(json); response.setcontenttype("application/json"); response.setcharacterencoding("utf-8"); response.setheader( "pragma", "no-cache" ); response.setheader( "cache-control", "no-cache" ); response.setdateheader( "expires", 0 ); response.getwriter().write(json); javascript :
xmlhttp.onreadystatechange=function() { if (xmlhttp.readystate==4 && xmlhttp.status==200) { var responsejson=xmlhttp.responsetext; alert(responsejson); var carobj = eval ("(" + responsejson + ")"); select = document.getelementbyid("selector"); (var = 0; < carobj.dataobject.length; i++) { var d = carobj.dataobject[i]; select.appendchild(new option(d.value1, d.value2)); } } }; jsp :
<select id="selector" onchange="showstate(this.value)" > <option value="volvo">volvo</option> <option value="saab">saab</option> <option value="mercedes">mercedes</option> <option value="audi">audi</option> </select>
there's no dataobject in json. it's object, not array, can't use .length or numeric indexes. use for (key in obj) iterate on properties.
xmlhttp.onreadystatechange = function() { if (xmlhttp.readystate == 4 && xmlhttp.status == 200) { var responsejson = xmlhttp.responsetext; alert(responsejson); var carobj = json.parse(responsejson); select = document.getelementbyid("selector"); (var value in carobj) { select.appendchild(new option(value, carobj[value])); } } };
Comments
Post a Comment