irpas技术客

ajax 响应数据格式_ajax设置响应数据类型_CMCST

irpas 8387

1. 接受后端普通文本(非json)

后端

String str = "响应内容"; response.getWriter().prinltn(str);

前端回调函数

function [callback函数名称](){ var text = xhr.responseText; console.log(text); } 2. json格式 2.1 通过重写JAVA对象的toString方法 将toString()方法中的String书写为很像json的格式

如下: 修改前

@Override public String toString() { return "User{" + "userId='" + userId + '\'' + ", userName='" + userName + '\'' + ", password='" + password + '\'' + ", createTime=" + createTime + ", updateTime=" + updateTime + ", delFlag=" + delFlag + '}'; }

修改后

@Override public String toString() { return "{" + "userId:'" + userId + '\'' + ", userName:'" + userName + '\'' + ", password:'" + password + '\'' + ", createTime:" + createTime + ", updateTime:" + updateTime + ", delFlag:" + delFlag + '}'; } 只是将 类名 删除 ,= 换为 : * 后端 response.getWriter().println(user); 前端回调函数 function [callback函数名称](){ var text = xhr.responseText; // 此处获取到的text是string类型 console.log(typeof text); //= = > string eval("var json" + text); console.log(json); // = = > json格式数据 }

eval()

定义和用法

eval() 函数计算或执行参数。

如果参数是表达式,则 eval() 计算表达式。如果参数是一个或多个 JavaScript 语句,则 eval() 执行这些语句。

w3cschool 关于eval()介绍

2.3. 使用json解析器

常见的json解析器有 org.json的使用 net.sf.json的使用 json-simple的使用 gson的使用 jackson的使用 fastjson的使用

2.3.1 jackson JAVA 对象转为 json 字符串 ObjectMapper mapper = new ObjectMapper(); // java对象 转为 json // (1) 把arg1转成json序列,并保存到arg0文件中。 mapper.writeValue(File arg0,Object arg1); // (2) 把arg1转成json序列,并保存到arg0输出流中。 mapper.writeValue(OutputStream arg0, Object arg1); // (3)把arg0转成json序列,并把结果输出成字节数组。 mapper.writeValueAsBytes(Object arg0); // (4)把arg0转成json序列,并把结果输出成字符串。 mapper.writeValueAsString(Object arg0) json 字符串 转为 JAVA 对象 ObjectMapper mapper = new ObjectMapper(); // json 转为 java 对象 mapper.readValue(JsonParser p, Class<T> ValueType); 2.3.2 gson JAVA 对象转为 json 字符串 Gson gson = new Gson(); String gson.toJson(Object obj); json 字符串 转为 JAVA 对象 Gson gson = new Gson(); Object gson.fromJson(String text , class<T>); 坐标 <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.8.2</version> </dependency> 2.3.3 fastjson JAVA 对象转为 json 字符串 JSON.toJSONString(Object obj); json 字符串 转为 JAVA 对象 JSON.parse(String text); JSON.parseObject(String text); JSON.parseObject(String text,Class<T> clazz); JSON.parseArray(String text,Class<T> clazz) 坐标 <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.42</version> </dependency> 3. XML格式 后端 response.setContentType("text/xml;charset=UTF-8"); String str = ""; // == > xml 文本内容 (可手动拼接) response.getWriter().println(str); 前端回调函数 function [callback 函数名]{ var doc = xhr.responseXml(); }


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #ajax设置响应数据类型 #1 #str #callback函数名称var #Text