解决ajax异步传输数据,return返回为undefined的问题

简介:

ajax获取到后台值后return不起作用,分下如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function  GetUserInfo(tp) {
     var  username;
     $.ajax({
         type:  "POST" ,
         cache:  false ,
         data:  "type=exlogin&tp="  + tp,
         url:  "Handle/OpeartionHandler.ashx" ,
         success:  function (userinfo) {
             username = userinfo;
         }, error:  function (data) {
             username =  "" ;
         }
     });
     return  username;
}


对于此方法调用之后会一直返回undefined,原因是Jquery的ajax是异步的,所以大多时候没执行完AJAX就return htmlcontent了,所以会一直返回undefined, 

解决方法:添加async: false,即修改此方法为同步

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function  GetUserInfo(tp) {
     var  username;
     $.ajax({
         type:  "POST" ,
         cache:  false ,
         data:  "type=exlogin&tp="  + tp,
         async:  false ,
         url:  "Handle/OpeartionHandler.ashx" ,
         success:  function (userinfo) {
             username = userinfo;
         }, error:  function (data) {
             username =  "" ;
         }
     });
     return  username;
}


以上方法,可以实现,获取到return的值,但是不推荐使用。




推荐用传入函数的方式获取 ajax return的值。


http://www.jb51.net/article/28597.htm



   本文转自许琴 51CTO博客,原文链接:http://blog.51cto.com/xuqin/1548434,如需转载请自行联系原作者





相关文章
|
12月前
|
Web App开发 数据采集 前端开发
Python + Chrome 爬虫:如何抓取 AJAX 动态加载数据?
Python + Chrome 爬虫:如何抓取 AJAX 动态加载数据?
|
XML 前端开发 JavaScript
PHP与Ajax在Web开发中的交互技术。PHP作为服务器端脚本语言,处理数据和业务逻辑
本文深入探讨了PHP与Ajax在Web开发中的交互技术。PHP作为服务器端脚本语言,处理数据和业务逻辑;Ajax则通过异步请求实现页面无刷新更新。文中详细介绍了两者的工作原理、数据传输格式选择、具体实现方法及实际应用案例,如实时数据更新、表单验证与提交、动态加载内容等。同时,针对跨域问题、数据安全与性能优化提出了建议。总结指出,PHP与Ajax的结合能显著提升Web应用的效率和用户体验。
352 3
|
JSON 前端开发 数据格式
layui 穿梭框transfer组件 数据data用ajax来获取
layui 穿梭框transfer组件 数据data用ajax来获取
626 2
|
前端开发 JavaScript Java
Ajax进行异步交互:提升Java Web应用的用户体验
Ajax 技术允许在不重载整个页面的情况下与服务器异步交换数据,通过局部更新页面内容,极大提升了 Java Web 应用的响应速度和用户体验。本文介绍 Ajax 的基本原理及其实现方式,包括使用 XMLHttpRequest 对象发送请求、处理响应数据,并在 Java Web 应用中集成 Ajax。此外,还探讨了 Ajax 如何通过减少页面刷新、实时数据更新等功能改善用户体验。
271 3
|
Web App开发 前端开发 JavaScript
Python编程—Ajax数据爬取(一)
Python编程—Ajax数据爬取(一)
292 0
|
前端开发 NoSQL MongoDB
Python编程—Ajax数据爬取(二)
Python编程—Ajax数据爬取(二)
407 0
TypeError: Cannot set properties of undefined (setting ‘resdata‘),res定义数据出现的问题,定义的方法用this换成that
TypeError: Cannot set properties of undefined (setting ‘resdata‘),res定义数据出现的问题,定义的方法用this换成that
N..
|
XML JSON 前端开发
jQuery实现Ajax
jQuery实现Ajax
N..
209 1
|
XML 前端开发 JavaScript
jQuery中ajax如何使用
jQuery中ajax如何使用
272 0