jQuery的ajax中return语句无法返回值

今天在做一个新需求的时候,用到jQuery的ajax来返回一个查询结果:

但是调用这个方法的时候,data有数据,调用的地方获取到的却一直都是undefined,在网上搜索了一些资料,找到了问题所在,解决方法如下:

1:属性中需要增加async:false;

2:在ajax之前声明一个变量,在success中,将data赋值给这个变量,并在ajax之后,return这个变量;

因为如果是异步执行的话,也许查询结果还没有返回来,js这边就把data返回回去了,但是只添加async:false属性却不能解决问题;

直接返回data的话 ,依然会是undefined,这个地方为什么要用一个变量来接受这个data,然后再return这个变量,我就不太清楚为什么了;

首先希望这个地方能够帮助到大家,同时也希望对于第二点比较了解的朋友可以解答一下我的疑问;

时间: 2024-10-10 09:11:44

jQuery的ajax中return语句无法返回值的相关文章

jquery:ajax接收不到后台返回值

html页面a元素如果加上href=javasrcipt:void(0)会导致ajax接收不到后台返回值. 例如: <p class="chatmsg_load_more"><a href="javascript:void(0)">加载更多</a></p> 如果这个时候,你恰好需要点击"加载更多"执行ajax请求,那么很不幸的告知您,您的ajax请求,不会执行success后的代码,也就是说: $(

【共读Primer】49.[6.3]返回类型和return语句--关于返回值 Page201

值是如何被返回的 返回值用于初始化调用点的一个临时量. 在下面的函数中,返回值的内容是被拷贝到调用点 string make_plural(size_t ctr, const string &word, const string &ending) { return (ctr > 1) ? word + ending : word; } 在下面的函数中则是将引用型参数作为返回值直接返回了参数的引用 const string & shorterString(const strin

try catch finally中return语句与非return语句的执行顺序问题

finally语句一定是会被执行的,不管前边的try块catch块中有无return语句,并且如果finally中存在return语句,这个return语句将会是最后执行的return语句,即函数最后的返回值.try,catch中的return并不是让函数直接返回,而是return语句执行完毕,把返回结果放到函数栈中,转而执行finally块,所以,若是finally中含有return语句,那么函数栈中的返回值将被刷新.看以下几种情况: 1:try有return,finally无 public

java中return语句的用法总结

return算是各大语言的常客,基本上都有return语句,那么在JAVA中,return有什么特殊的地方吗,下面我们来分析下 1.return语句的作用:a.返回一个值,这个值可以是任意类型.b.使程序返回到操作系统(即终止程序) 2.java中对于一个函数,不论有没有返回值类型,都可以带有return 语句. 但是区别在于,return 语句是否可以返回一个值(这取决与该函数的返回值类型). a.如果函数有返回值类型(即返回值类型不为void ),则必须带有返回相应类型值的return 语句

SpringMVC中使用@ResponseBody注解返回值,Ajax取得中文乱码解决方法

Spring使用AnnotationMethodHandlerAdapter的handleResponseBody方法, AnnotationMethodHandlerAdapter使用request header中"Accept"的值和messageConverter支持的MediaType进行匹配,然后会用"Accept"的第一个值写入 response的"Content-Type".一般的请求都是通过浏览器进行的,request heade

jquery的AJAX中各个事件执行顺序

jquery的AJAX中各个事件执行顺序如下: 1.ajaxStart(全局事件) 2.beforeSend 3.ajaxSend(全局事件) 4.success 5.ajaxSuccess(全局事件) 6.error 7.ajaxError (全局事件) 8.complete 9.ajaxComplete(全局事件) 10.ajaxStop(全局事件)

51.try块和catch块中return语句的执行

import java.util.Scanner; /** * 测试try块和catch块中return语句的执行. */ public class Test5 { public static void main(String[] args) { Scanner in = new Scanner(System.in); System.out.print("请输入被除数:"); try { int num1 = in.nextInt(); System.out.print("请

jQuery:length属性:是jQuery对象对应元素在document中的个数,返回值数据类型是Number

是jQuery对象对应元素在document中的个数,返回值数据类型是Number

转:C++中临时对象及返回值优化

http://www.cnblogs.com/xkfz007/articles/2506022.html 什么是临时对象? C++真正的临时对象是不可见的匿名对象,不会出现在你的源码中,但是程序在运行时确实生成了这样的对象. 通常出现在以下两种情况: (1)为了使函数调用成功而进行隐式类型转换的时候. 传递某对象给一个函数,而其类型与函数的形参类型不同时,如果可以通过隐式转化的话可以使函数调用成功,那么此时会通过构造函数生成一个临时对象,当函数返回时临时对象即自动销毁.如下例: //计算字符ch