如果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. Bob Waters - Twenty Years

    We were just children and grown up closeHow we made it this far only god knowsWe bend the rulesSmash ...

  2. [CF1110E]Magic Stones

    题目大意:有一个长度为$n(n\leqslant10^5)$的数列$c$,问是否可以经过若干次变换变成数列$t$,一次变换为$c'_i=c_{i+1}+c_{i-1}-c_i$ 题解:思考一次变换的本 ...

  3. 【BZOJ4991】我也不知道题目名字是什么(线段树)

    [BZOJ4991]我也不知道题目名字是什么(线段树) 题面 BZOJ 题解 对于线段树维护的区间维护以下东西: 区间左(右)端开始(结束)的最长(短)子串的长度 左端右端的值,以及当前区间内的答案 ...

  4. php版本的code review软件

    phabricator, http://www.oschina.net/p/phabricator

  5. Angular http跨域

    原文:Angular http跨域 - 飞翔的小仓鼠 - 博客园 var app = angular.module('Mywind',['ui.router']); app.controller('M ...

  6. mysqldump参数详细说明(转)

    Mysqldump参数大全(参数来源于mysql5.5.19源码)   参数 参数说明 --all-databases  , -A 导出全部数据库. mysqldump  -uroot -p --al ...

  7. npm安装socket.io时报错的解决方法(npm WARN enoent ENOENT: no such file or directory, open '/usr/local/nodejs/bin/package.json')

    执行 npm install socket.io安装时报错: [root@WEB node_modules]# npm install socket.ionpm WARN enoent ENOENT: ...

  8. unity脚本封装成dll

    先申明一下这样做是有需要的.当我们需要把脚本提供给第三方使用,而又不希望对方看到具体的实现过程,这时候就需要将代码封装编译成dll文件,供第三方调用.或是多个项目都要用到同一个模块或同样的功能,则可以 ...

  9. twitter——数据连接

      sklearn实战-乳腺癌细胞数据挖掘(博客主亲自录制视频教程) https://study.163.com/course/introduction.htm?courseId=1005269003 ...

  10. bzoj千题计划118:bzoj1028: [JSOI2007]麻将

    http://www.lydsy.com/JudgeOnline/problem.php?id=1028 枚举等待牌 枚举对是哪个 判断 #include<cstdio> #include ...