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