如果jquery中,获取不到ajax返回值。

两个错误写法会导致这种情况:1.ajax未用同步  2.在ajax方法中直接return返回值。

下面列举了三种写法,如果想成功获取到返回值,参考第三种写法:

 1 /**
2 * 方式:(1)同步调用 (2)在ajax函数中return值
3 * 结果:返回 1。未成功获取返回值
4 * 失败原因:ajax内部是一个或多个定义的函数,ajax中return返回值,
5 * 返回到ajax定义函数,而不是返回到ajax外层的函数checkAccount1()
6 */
7 function checkAccount1(){
8 var result = 1;
9 $.ajax({
10 url : 'test.do',
11 type : "post",
12 data : {},
13 async : false,
14 success : function(data) {
15 return 2;
16 }
17 });
18 return result;
19 }
20
21 /**
22 * (1)异步调用 (2)在ajax对全局变量进行设值 (3)ajax函数外将变量return
23 * 结果:返回 1。未成功获取返回值
24 * 失败原因:ajax请求和后面的return result语句异步执行,
25 * 导致return result比result = 2先执行并返回result的值
26 */
27 function checkAccount2(){
28 var result = 1;
29 $.ajax({
30 url : 'test.do',
31 type : "post",
32 data : {},
33 async : true,
34 success : function(data) {
35 result = 2;
36 }
37 });
38 return result;
39 }
40
41 /**
42 * (1)同步调用 (2)且在ajax对全局变量进行设值 (3)ajax函数外将变量return
43 * 结果:返回 2。成功获取返回值
44 * 成功原因:先执行result = 2;再往下执行return result;
45 */
46 function checkAccount3(){
47 var result = 1;
48 $.ajax({
49 url : 'test.do',
50 type : "post",
51 data : {},
52 async : false,
53 success : function(data) {
54 result = 2;
55 }
56 });
57 return result;
58 }
 

用jquery的ajax方法获取不到return返回值的更多相关文章

  1. jquery通过ajax方法获取json数据不执行success

    1.jquery通过ajax方法获取json数据不执行success回调 问题描述:jquery通过ajax方法获取json数据不执行success回调方法 问题原因:json格式存在问题或不符合标准 ...

  2. jquery通过ajax方法获取json数据不执行success回调

    问题描述:jquery通过ajax方法获取json数据不执行success回调方法 问题原因:json格式存在问题或不符合标准写法,导致总是执行error回调方法 解决方案:使json格式务必符合下述 ...

  3. 关于ExecuteNonQuery执行存储过程的返回值 、、实例讲解存储过程的返回值与传出参数、、、C#获取存储过程的 Return返回值和Output输出参数值

    关于ExecuteNonQuery执行存储过程的返回值 用到过ExecuteNonQuery()函数的朋友们在开发的时候肯定这么用过. if(cmd.ExecuteNonQuery("xxx ...

  4. 用jquery的ajax方法获取return返回值的正确姿势

    如果jquery中,想要获取ajax的return返回值,必须注意两方面,ajax的同步异步问题,在ajax方法里面还是外面进行return返回值. 下面列举了三种写法,如果想成功获取到返回值,参考第 ...

  5. $.ajax() 获取不到return 返回值

    /*常见错误示例 直接在 ajax 里面return 结果 */ function demo(){ $.ajax({ url : 'test.do', type : "post", ...

  6. C#获取存储过程的 Return返回值和Output输出参数值

    1.获取Return返回值  程序代码 //存储过程//Create PROCEDURE MYSQL//     @a int,//     @b int//AS//     return @a + ...

  7. JQuery的ajax方法获取返回值得到了值还包含了不要的html源码 (Ajax相关知识)

    因为后台使用了response.Write():这个方法,当输出完了以后,没有结束掉会继续输出,所以需要用到response.End():这样问题就解决了 jquery的ajax 除了通过url传值, ...

  8. 使用jquery的ajax方法获取下拉列表值

    AJAX 是一种用于创建快速动态网页的技术. 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新,用户体验非常好. ...

  9. C#.net获取存储过程的Return返回值和Output输出参数值

    原文发布时间为:2008-10-25 -- 来源于本人的百度文章 [由搬家工具导入] 1.获取Return返回值 程序代码//存储过程//Create PROCEDURE MYSQL//     @a ...

随机推荐

  1. 关于IT个人看法

    对于理科生来说,理论和技术都是相当重要的,我很爱钻牛角尖,但是请理解‘固执的我’, 本人选择IT行业,其实也是偶然,带着质疑的眼光,成为了众多IT男中毫无‘特色’的一员,回忆 学习阶段,逐渐认识了IT ...

  2. 查看ubuntu版本号

    No.1 cat /etc/issue No.2 cat /proc/version No.3 uname -a No.4 lsb_release -a

  3. 【bzoj1078】 SCOI2008—斜堆

    http://www.lydsy.com/JudgeOnline/problem.php?id=1078 (题目链接) 题意 给出一个斜堆,并给出其插入的操作,求一个字典序最小的插入顺序. Solut ...

  4. Nginx访问日志分析

    nginx默认的日志格式 log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$sta ...

  5. 【bzoj3926】【Zjoi2015】诸神眷顾的幻想乡

    题解: 如果树上某个路径串的端点不是叶子,那么一定是另一个串的子串: 这样只对叶子$dfs$把$20*20$个串插入广义$SAM$就是统计本质不同的串的个数的模板了: 我不太会分析广义$SAM$的空间 ...

  6. servlet的application对象的使用

    application对象 1 什么是application对象 ? (1) 当Web服务器启动时,Web服务器会自动创建一个application对象.application对象一旦创建,它将一直存 ...

  7. Service Fabric Failover Manager

    作者:潘罡 (Van Pan)@ Microsoft 什么是Failover Manager 我们回到Service Fabric系统架构图. Failover Manager是Reliability ...

  8. P1783 二分并查集写法

    并查集 + 二分 我是 并查集 + 二分 做的QVQ 思路:两两枚举点之间的距离,sort排序,使距离有序.二分答案,每次判断是否符合条件,然后缩小查询范围,直到满足题目要求(保留2位小数精度就为 0 ...

  9. 移动端UI

    mui:http://dev.dcloud.net.cn/mui/ saltUI:https://salt-ui.github.io

  10. 51nod 1534 棋子游戏

    1534 棋子游戏 题目来源: CodeForces 基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题 http://www.51nod.com/onlineJudg ...