糖尿病康复,内容丰富有趣,生活中的好帮手!
糖尿病康复 > java解析ajax的数据_java ajax 请求后获取 json 数据 以及 使用 解析 解惑

java解析ajax的数据_java ajax 请求后获取 json 数据 以及 使用 解析 解惑

时间:2020-04-12 13:32:51

相关推荐

java解析ajax的数据_java ajax 请求后获取 json 数据 以及 使用 解析  解惑

写这个内容是 因为。。。框架一直在用ajax ,,传输 json 但是一直不太明白为什么要这样配置, 以及 前端ajax 怎么 使用 后台传输过来的数据。 首先 是 spirng mvc 的 配置

class="org.springframework.http.converter.ByteArrayHttpMessageConverter" />

class="org.springframework.http.converter.StringHttpMessageConverter">

text/html;charset=UTF-8

text/plain;charset=UTF-8

application/xml;charset=UTF-8

text/html;charset=UTF-8

text/plain;charset=UTF-8

text/json;charset=UTF-8

application/json;charset=UTF-8

其实这样的配置 我之前 一直 不太明白。。。 说明一下配置: 首先 json格式的数据配置, 客户端的请求 头的 数据格式 是怎样的,就 对应返回 json 格式的 数据。 上面的配置是 几乎所以的 客户端的请求 的数据都是返回的 json 格式的数据的。 当然不包括请求xml 了。就算是 请求头是 application/xml 返回的也是 默认json格式的。 请求是 text 即文本字符串的话,返回的也是 json 的数据的。 返回的数据 我之前一直以为 如果 返回的 是 对象的话, 返回的才是 json 数据的,响应头是application/json; 比如

@RequestMapping("save")

@ResponseBody

public Result save(HttpServletRequest request,

然后 还有一直 数据 叫做 字符串,, json 格式的字符串。。。,即json数据.toString 了 之前我一直以为 返回数据是 string 类型的话, 返回给客户端的就是 string 类型的 json格式的字符串。。。 比如这样。

@RequestMapping("get")

@ResponseBody

public String get(HttpServletRequest

其实 这样是 错误的,,, 哪怕 返回的是 String 类型的, 但是 String 类型也是 对象啊,, 所以 返回的数据依然是 json 格式的数据的,而不是 字符串。。。 即 响应的头是 application/json; 那么来 一个小例子:

if (pplanCyclePo !=null) {

//有数据的

jsonObj.put("success", true);

jsonObj.put("objData",JsonHelper.toJsonToDateForm(pplanCyclePo, "yyyy-MM-dd"));

//jsonObj.put("pplanCycleId", pplanCyclePo.getId());

}else {

jsonObj.put("success", false);

}

return jsonObj.toString();

在 前端ajax 请求的时候 获取到的是 json 格式的数据的。 是可以 data.sucess 等等 这样来获取对应的 key 里面的数据的。 同时 如果想获取 data.objData 是 可以的, 获取到的结果是 string 类型的。。。 获取 data.objData.id 肯定是 获取不到类型的。。。 要获取 里面的 id 就要把 objData 转为 json 对象 就可以 点 出来里面的内容了。

当然 如果 json 对象 里面 objData 对应的内容放的不是 string 而是 其他对象。。。Object 那么在 前端 是可以 直接 data.objData.id 获取 内容的。

//使用异步加载数据

var url = _ctxPath + "/pfmcePlan/hrEffPfmcePlan/getHrEffPplanCycleTime.do";

$.post(url, { 'id': idForPlanTime, 'monthNum': selectMonth }, function(data) {

//绑定 表单数据,显示在form表单中, 会把id 也放到里面的了

// 就算选择了 重置这个按钮也没有关系的, id一样是在里面的

// 总之就不要把id 在放在from 里面了,否则后台要处理去掉 ","号

if (data.success) {

$("#planCyclePo").val(data.objData);

bindFormData("hrEffPfmcePlanTimeSaveForm", data.objData);

var objDataJSON = JSON.parse(data.objData); //必须变为json对象,才可以获取到里面的数据的

console.log('周期时间>>>>>>>>>' + data.objData); //因为值传输是 string类型的,所以要转为json

var id = $("#savePlanCycleId").val();

console.log(objDataJSON.id + " , 修改周期时间的formid>>>" + id);

if (!id) {

//说明 id数据不存在

$("#savePlanCycleId").val(objDataJSON.id);

console.log("赋值>>>>" + $("#savePlanCycleId").val());

}

$("#ytime").val($("#reportStime").val());

} else {

//showError("编码已存在");错误提示这里不合适

showAlert("数据不存在"); //弹窗提示

return;

}

}, "json").error(function() {

showError("网络错误");

});

哎。。。这就是 不看 mvc 源码的 结果了,,, 虽然可以写 代码,可是不关注原理

如果觉得《java解析ajax的数据_java ajax 请求后获取 json 数据 以及 使用 解析 解惑》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。