一、ajax同步异步设置导致父子页面数据更新不一致问题。
1、在修复入宿退宿功能时,发现点击退宿、入宿按钮时。父页面数据更新了但是子页面数据要重新打开才能更新。如下图:
因为数据刷新函数如下:父页面刷新函数findRoomPeople()采用的是异步,所以,操作的数据还没更新,子页面刷新函数loadRoomInfo()就已经执行,所以获取到的数据还是之前的数据。
<script> roomHandle: function () { /*刷新数据变化*/ parent.cootoo_room.findRoomPeople(); addPeople.loadRoomInfo(); addPeople.currentPeopleID = {}; }, </script>
修改为同步之后,子页面函数就能及时获取请求后的数据了。
二、return返回值返回ajax请求的数据。
1、详情可见https://blog.csdn.net/zyw23zyw23/article/details/77775730;
2、大致就是设置一个全局变量,然后请求之后将数据赋值给全局变量,return的时候返回该全局变量。需要注意的是,return返回的不是ajax里面的函数返回值,而应该是整个函数的返回值。