问题描述
学习JQuery不久,问题比较愚昧还望谅解。按照以下方法,可以成功返回jsp的结果。$.get('我的JSP.jsp', {'参数一':变量一, '参数二':变量二, '参数三':变量三}, function(msg) { // alert(msg);document.getElementById("Result").innerHTML = msg; });现在jsp要返回多条记录的话,应该如何处理?难道在前后端都自己解析xml吗?还是有其他好的方法,谢谢!问题补充:to ham:能否给一个小例子参考一下,谢谢!
解决方案
例如,如果服务器端返回的数据是这种格式:[{id:'001',name:'张三',age:'22'},{id:'002',name:'李四',age:'65'},{id:'003',name:'王五',age:'32'}]接收返回数据的变量为Msg,则可通过var data=eval(Msg);这样,data就是一个由JSON生成的Array对象,包含了三个Object对象,Object对象拥有id,name和age三个属性。由于data自身就是一个对象,所以对其操作也会方便得多,可以和使用Javascript普通对象一样的方式操纵它。如:for(var i=0;i<data.length;i++){ var id=data[i]["id"];//得到元素中的id属性 var name=data[i]["name"];//得到元素中的name属性 var age=data[i]["age"];//得到元素中的age属性 alert("id="+id+"n"+"name="+name+"n"+"age="+age);}关于JSON的更多资料,楼主可以自己到网上搜索一下。
解决方案二:
同意楼上,如果一定要返回XML,也可以$(xml)
解决方案三:
返回JSON类型数据。通过类似var obj=eval(xmlHttp.responseText);的方式。将值赋给一个对象,再对该对象进行操作。不喜欢返回XML数据。操作效率低、数据量大、麻烦。