版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhao__zhen/article/details/83177853
jquery $.post 接收返回值及java中去除json中的斜杠
jquery $.post回调函数中赋值问题
而某些时候我们要用callback回调函数处理完以后的返回值,常规的思路是定义一个全局变量来接收返回值,然后在$post的外面,函数的里面返回即可.在这种方法是行不通的。因为jquery 中的$.get和$.post 都是默认是使用异步方式传输的,所以发出请求后还没等一般处理程序处理返回结果,就执行了变量赋值,因此取到的值总为undefined。
解决方式:
$.post默认情况下是异步执行的,在$.post之前就已经return 了。要return $.post中的内容需要将$.post设置为同步机制
在执行$post之前加$.ajaxSettings.async = false; (同步执行)
执行你的代码之后及时恢复为$.ajaxSettings.async = true; (修改回默认的异步执行)
$.ajaxSettings.async = false;
$.post();
$.ajaxSettings.async = true;`
或者是使用
$.ajax({
type: "post",
async: false,//设置为同步,异步的话,还没有来得及赋值(success回调函数里面的赋值不起作用),就已经return。
url: "checkphShortCut",
data: {phonenumber: $("#phone").val()},
success: function (checkPhoneResult) {
alert(checkPhoneResult);
if (checkPhoneResult == -1) {
$("#phone_error").html("该电话号码已被使用请重新填写!");
} else {
if (checkPhoneResult == 1) {
$("#phone_error").html("");
if ($("#phonepwd").val() == "")
$("#phonepwd_error").html("电话密码不能为空!");
else {
$("#transport_error").html("");
flag = true;
}
}
}
}
});
java 在向ajax 传值时,json字符串有斜杠
{\"Count\":\"3\",\"ErrorString\":\"\",\"Success\":true,\"URL\":\"http:\\\/\\\/172.16.80.65:8080\\\/LoginSSO.aspx?UserCode=wubg&Type=WorkItem\",\"UserId\":\"1226\",\"biztype\":\"19110\",\"Results\":[{\"ActivityId\":\"6d216e2b-25dc-4978-88a8-2fb5bfbd690c\",\"ActivityName\":\"部门负责人\",\"Money\":\"\",\"ParticipantId\":\"1226\",\"ParticipantName\":\"乌宝贵\",\"PreActivityName\":\"\",\"StartTime\":\"2017\\\/6\\\/21 20:55:59\",\"State\":\"0\",\"Type\":\"资产处置\",\"WorkId\":\"46789861-4dc5-4dd9-87e0-5cb4df8bf3ff\",\"WorkItemURL\":\"SBmanager\\\/Equipment_AssetDispose_New.aspx?sitemap='所在位置: 生命周期管理 > 资产处置> 部门负责人'\"},{\"ActivityId\":\"05ec02e4-6e11-4791-b2ed-9debf6fef516\",\"ActivityName\":\"部门领导意见\",\"Money\":\"\",\"ParticipantId\":\"1226\",\"ParticipantName\":\"乌宝贵\",\"PreActivityName\":\"\",\"StartTime\":\"2017\\\/6\\\/21 20:41:57\",\"State\":\"0\",\"Type\":\"资产出库\",\"WorkId\":\"56ae6661-4379-4b25-b231-2586609d0e11\",\"WorkItemURL\":\"DataBaseBef\\\/Equipment_YANSHOU_CK_NEW.aspx?sitemap='所在位置:生命周期管理 > 验收出库 > 部门领导意见'\"},{\"ActivityId\":\"9f0cc043-6bea-446c-90ac-1b228450ebd0\",\"ActivityName\":\"使用部门负责人意见\",\"Money\":\"\",\"ParticipantId\":\"1226\",\"ParticipantName\":\"乌宝贵\",\"PreActivityName\":\"\",\"StartTime\":\"2017\\\/6\\\/21 21:25:56\",\"State\":\"0\",\"Type\":\"领用出库单\",\"WorkId\":\"980ee135-2587-4469-9b5a-8929afcfc728\",\"WorkItemURL\":\"SBmanager\\\/Equipment_QL.aspx?sitemap='所在位置: 生命周期管理 > 资产领用 > 使用部门负责人意见'\"}]}
result = StringEscapeUtils.unescapeJava(result);//去掉斜杠