jQuery调用ajax返回json对象
2017-09-07 22:42
561 查看
$.get(url,[data],[fn],[type])跟$.post差不多,就以get为例子说明一下:
前端代码:(只能用each来遍历刚得到的json对象数组)
$("#link").click(function(){
//前提是一定要得到json格式的字符串
$.get("${pageContext.request.contextPath}/jsonServlet",
function(result){
//用这种方法来遍历返回数据中的对象
var result1 = $.parseJSON(result);
$.each(result1,function(index,obj){
//这种是直接获取obj中的属性和值
$.each(obj,function(prop,val){
console.log(prop+":"+val);
});
//这种是获取obj中的属性,再通过属性找到对应的值
for(prop in obj){
console.log(prop+":"+obj[prop]);
}
});
//尝试用for来遍历,但是不成功,得到的是下标
/* for(obj in result){
for(prop in obj){
console.log(prop+":"+obj[prop]);
}
} */
});
});
对应的jsonServlet中是这样的处理:
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//response.setContentType("application/json;chartset=utf-8");
User user1 = new User("andy",12);
User user2 = new User("jack",22);
List<User> list = new ArrayList<>();
list.add(user2);
4000
list.add(user1);
Gson gson = new Gson();
String json = gson.toJson(list);
PrintWriter writer = response.getWriter();
writer.print(json);
writer.close();
}
注意:如果使用了setContentType来设置返回数据的内容类型,则前端返回的数据就是json对象,所以不可以再在前端的回调函数中使用$.parseJSON()来将返回回来的result转换成json对象,因为本身result就已经是json对象,不是字符串,但这样的设置只在jQuery中生效,在JavaScript中好像不起作用,起码我在测试的时候不能得到json类型字符串
前端代码:(只能用each来遍历刚得到的json对象数组)
$("#link").click(function(){
//前提是一定要得到json格式的字符串
$.get("${pageContext.request.contextPath}/jsonServlet",
function(result){
//用这种方法来遍历返回数据中的对象
var result1 = $.parseJSON(result);
$.each(result1,function(index,obj){
//这种是直接获取obj中的属性和值
$.each(obj,function(prop,val){
console.log(prop+":"+val);
});
//这种是获取obj中的属性,再通过属性找到对应的值
for(prop in obj){
console.log(prop+":"+obj[prop]);
}
});
//尝试用for来遍历,但是不成功,得到的是下标
/* for(obj in result){
for(prop in obj){
console.log(prop+":"+obj[prop]);
}
} */
});
});
对应的jsonServlet中是这样的处理:
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//response.setContentType("application/json;chartset=utf-8");
User user1 = new User("andy",12);
User user2 = new User("jack",22);
List<User> list = new ArrayList<>();
list.add(user2);
4000
list.add(user1);
Gson gson = new Gson();
String json = gson.toJson(list);
PrintWriter writer = response.getWriter();
writer.print(json);
writer.close();
}
注意:如果使用了setContentType来设置返回数据的内容类型,则前端返回的数据就是json对象,所以不可以再在前端的回调函数中使用$.parseJSON()来将返回回来的result转换成json对象,因为本身result就已经是json对象,不是字符串,但这样的设置只在jQuery中生效,在JavaScript中好像不起作用,起码我在测试的时候不能得到json类型字符串
相关文章推荐
- jQuery封装方法ajax调用获得返回json数据方法
- 后台ajax调用中字符串到jquery中的json对象和数组对象转换问题
- jQuery调用WCF返回JSON对象
- springMVC使用ajax返回json对象,用jquery进行解析.
- Ajax调用返回json数组,对象 (JSONArray.fromObject)
- js 调用 ajax返回的json对象
- 前台使用ajax 调用action方法,返回一个对象List集合的json
- 关于ASP.NET下,JQuery+AJAX使用JSON返回对象集合List数据的总结
- jquery中ajax如何返回值到上层函数的方法以及对于js处理json对象方法的记录
- struts2 + ajax(由前台的form提交数据到后台,再根据form所调用返回获取的后台json格式的数据返回到前端,然后前端用jquery对json数据进行解析)==》》涉及文件上传的部分
- struts2 + ajax(由前台的form提交数据到后台,再根据form所调用返回获取的后台json格式的数据返回到前端,然后前端用jquery对json数据进行解析)==》》涉及非文件上传的部分
- SSH JQuery Json ajax请求返回List对象集合
- IE9.0或者360下js(JavaScript、jQuery)不能正确执行(加载),按F12后执行正常;Firefox下ajax的success返回数据data(json、string)无法获取
- jQuery中ajax请求后台返回json数据并渲染HTML的方法
- ajax json jquery解析后台返回的数组
- js+ajax处理java后台返回的json对象循环创建到表格的方法
- ajax调用封装,返回json
- Jquery 使用Ajax获取后台返回的Json数据后,页面处理
- JQuery处理json与ajax返回JSON实例代码
- jQuery通过Ajax返回JSON数据