ajax同步异步设置导致的问题及return返回值(返回ajax请求的数据)

一、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里面的函数返回值,而应该是整个函数的返回值。

原文地址:https://www.cnblogs.com/helloNico/p/10175626.html