jQuery ajax 当async为false时解决同步操作失败的问题

jQuery的ajax,当async为false时,同步操作失败。解决方案,jqueryasync

                   最近做项目遇到jQuery的ajax,当async为false时,同步操作失败的问题,上网搜索下,得到解决办法,这里就说下如何解决:

引发失败时代码:

 $.ajax({
        url : 'your url',
        data:{name:value},
        cache : false, 
        async : true,
        type : "POST",
        dataType : 'json/xml/html',
        success : function (result){
          return result;
        }
      });

解决方案:

 var ret = null;
$.ajax({
        url : 'your url',
        data:{name:value},
        cache : false, 
        async : true,
        type : "POST",
        dataType : 'json/xml/html',
        success : function (result){
          ret=result;
        }
      });
return ret;

说明:
不要在success的回调函数中直接return,具体原因后面在考察!!

$ajax()设置同步提交无效,代码如下,设置了async:"false" 但还是异步提交的

ajax本来的目的就是进行异步操作, 而且最新的jQuery版本甚至已经弃用了async参数.

如果你只是想利用ajax做服务器的交互,不需要异步刷新效果,那可以用回调函数.

jquery $ajax函数,中的async: "false", 不起作用帮忙看看

"false" 加了双引号就是字符串了,非空串就为true。

去掉双引号。

posted on 2017-03-16 17:35  @ 小浩  阅读(7301)  评论(1编辑  收藏  举报