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

Posted Hello_nico

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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里面的函数返回值,而应该是整个函数的返回值。

 

以上是关于ajax同步异步设置导致的问题及return返回值(返回ajax请求的数据)的主要内容,如果未能解决你的问题,请参考以下文章

ajax中的async属性值之同步和异步及同步和异步区别

ajax异步传输数据时return返回总是undefined(转载)

jQuery.ajax为啥不能实现return值

JavaScript如何让jQ ajax请求 success函数里返回的数据,变为外层函数的返回值?

整理ajax同步异步请求

关于$.ajax()、$.get()、$.post()获取return值得问题