解决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,如需转载请自行联系原作者





相关文章
|
29天前
|
Web App开发 JSON 前端开发
Ajax实现动态及时刷新表格数据
Ajax实现动态及时刷新表格数据
29 1
|
4月前
|
JSON 前端开发 Java
利用Spring Boot处理JSON数据实战(包括jQuery,html,ajax)附源码 超详细
利用Spring Boot处理JSON数据实战(包括jQuery,html,ajax)附源码 超详细
57 0
|
2月前
|
XML 机器学习/深度学习 JSON
在火狐浏览器调ajax获取json数据时,控制台提示“XML 解析错误:格式不佳”。
在火狐浏览器调ajax获取json数据时,控制台提示“XML 解析错误:格式不佳”。
29 0
在火狐浏览器调ajax获取json数据时,控制台提示“XML 解析错误:格式不佳”。
|
30天前
|
JSON 前端开发 数据格式
Ajax传递json数据
Ajax传递json数据
11 0
|
2月前
|
数据采集 前端开发 JavaScript
Python爬虫之Ajax数据爬取基本原理#6
Ajax数据爬取原理【2月更文挑战第19天】
32 1
Python爬虫之Ajax数据爬取基本原理#6
|
3月前
|
JSON 前端开发 JavaScript
探秘 AJAX:让网页变得更智能的异步技术(下)
探秘 AJAX:让网页变得更智能的异步技术(下)
探秘 AJAX:让网页变得更智能的异步技术(下)
|
3月前
|
XML 前端开发 JavaScript
探秘 AJAX:让网页变得更智能的异步技术(上)
探秘 AJAX:让网页变得更智能的异步技术(上)
探秘 AJAX:让网页变得更智能的异步技术(上)
|
4月前
|
存储 移动开发 JavaScript
【原生】sd.js帮助您简化繁重的获取数据、存储数据(CRUD)骚操作(吐槽~在安卓9.0以下或者IOS10.X以下手机端H5页面不支持,在这两种情况下的系统只能使用ajax或者原生js请求后台数据)
【原生】sd.js帮助您简化繁重的获取数据、存储数据(CRUD)骚操作(吐槽~在安卓9.0以下或者IOS10.X以下手机端H5页面不支持,在这两种情况下的系统只能使用ajax或者原生js请求后台数据)
|
4月前
|
XML JSON 前端开发
ajax中get和post的区别,datatype返回的数据类型有哪些?web开发中数据提交的几种方式,有什么区别。百度使用哪种方式?
ajax中get和post的区别,datatype返回的数据类型有哪些?web开发中数据提交的几种方式,有什么区别。百度使用哪种方式?
20 0
|
1月前
|
JavaScript 前端开发 算法
undefined与null的区别
在JavaScript中,undefined和null都表示变量未被赋值或值缺失,但它们在使用场景上有一些区别。 - **`语义不同`**:undefined表示一个变量未被赋值或者声明后未进行初始化。而null表示一个变量被明确地设置为无值或者表示空值的概念。 - **`类型不同`**:undefined是一种基本数据类型,而null是一个引用类型。 - **`条件判断`**:在条件判断中,使用if (variable === undefined)或者if (variable === null)可以进行区分。