jquery $.post 接收返回值及java中去除json中的斜杠

版权声明:本文为博主原创文章,未经博主允许不得转载。 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);//去掉斜杠

猜你喜欢

转载自blog.csdn.net/zhao__zhen/article/details/83177853