接下来关于ajax中的return值最后没有办法是方法的最终返回值问题

login(username,password)

{

console.log("进入方法");

$.ajax({

type:"POST",

url:"http://192.168.28.168:1314/api/Users/login",

dataType:"Json",

data:{

"username":username,

"password": password,

},

success:function(data){

console.log("调用接口成功")

console.log(data.statusCode);

return data.statusCode;

},

error:function(err){

console.log("调用接口失败");

status = ;

}

});

}

我们能看到方法中明明return了但是 调试却发现 这个方法的返回值是defined

其实因为在ajax方法中return只是退出了ajax方法 并非是login方法的返回值

然后我们设置一个新的变量,然后在ajax内部赋值,最后在ajax方法外return试试

仍然不行

Ok这就涉及到ajax是异步行为,所以就是在return的时候ajax不一定拿到了值

我希望只有当status有数据的时候再返回

那其实这个思路就是错的因为是异步 的这个if只能判断一次不是反复判断的

也就是说在ajax拿到值之后也未必会在进入status判断

尝试用setState的方法结果发现setState 竟然打印的结果不同

最后的解决方案,换个思路,你未必一定要让你的方法有返回值可以把方法写在ajax的success函数中去。

关于ajax中return并不能作为方法的返回值的更多相关文章

  1. list中包含多个相同值时,List中的indexOf(Object o)方法的返回值

    查一下Java API,List下的indexOf(Object o)方法的返回值为list列表中首个元素出现位置的索引,找不到时返回-1

  2. 一个方法中的ajax在success中renturn一个值,但是方法的返回值是undefind?

    https://segmentfault.com/q/1010000003762379 A页面 console.log(handleData("search_list", &quo ...

  3. SSM-SpringMVC-21:SpringMVC中处理器方法之返回值Object篇

    ------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 今天要记录的是处理方法,返回值为Object的那种,我给它分了一下类: 1.返回值为Object数值(例如1) ...

  4. java中Arrays类中,binarySearch()方法的返回值问题

    最近在复习Java知识,发现果然不经常使用忘得非常快... 看到binarySearch()方法的使用时,发现书上有点错误,于是就自己上机实验了一下,最后总结一下该方法的返回值. 总结:binaryS ...

  5. 【mybatis】mybatis执行一个update方法,返回值为1,但是数据库中数据并未更新,粘贴sql语句直接在数据库执行,等待好久报错:Lock wait timeout exceeded; try restarting transaction

    今天使用mybatis和jpa的过程中,发现这样一个问题: mybatis执行一个update方法,返回值为1,但是数据库中数据并未更新,粘贴sql语句直接在数据库执行,等待好久报错:Lock wai ...

  6. 判断是否是同一人的方法——equals()?在Person类中提供一个比较的方法compare()返回boolean值?对象自己和自己比?

    判断是否是同一人的方法——equals() 不能直接用per1==per2,这不是对象内容的比较而是存放对象地址的值得比较 在Person类中提供一个比较的方法compare()返回boolean值 ...

  7. 11.SpringMVC注解式开发-处理器方法的返回值

    处理器方法的返回值 使用@Controller 注解的处理器的处理器方法,其返回值常用的有四种类型 1.ModelAndView 2.String 3.void 4.自定义类型对象 1.返回Model ...

  8. Controller方法的返回值

    方法的返回值1.ModelAndView这个就不多说,这是最基础的,前面定义一个ModelAndView,中途使用addObject方法添加属性,再返回.视图解析器会自动扫描到的.2.String这个 ...

  9. Java反射机制二 获取方法的返回值或参数的泛型信息

    在使用反射机制时,我们经常需要知道方法的参数和返回值类型,很简单  ,下面上示例,示例中的两个方法非常相似 package deadLockThread; import java.lang.refle ...

随机推荐

  1. Hive操作笔记

    hive库清表,删除数据 insert overwrite table lorry.bigdata select * from lorry.bigdata where 1=0 hive的simple模 ...

  2. BZOJ3110:[ZJOI2013]K大数查询

    浅谈树状数组与线段树:https://www.cnblogs.com/AKMer/p/9946944.html 题目传送门:https://www.lydsy.com/JudgeOnline/prob ...

  3. qt 安装编译

    项目编译的时候提示 cannot find -lGL sudo apt-get install libgl1-mesa-dev

  4. ng2父子模块数据交互

    一.父模块向子模块传值 //父html <my-child [childdata]="parentdata"></my-child> 其中,my-child ...

  5. Linq to Object 延迟标准查询操作符

    1.Where 操作符用于限定输入集合中的元素,将符合条件的元素组织声称一个序列结果.2.Select  操作符用于根据输入序列中的元素创建相应的输出序列中的元素,输出序列中的元素类型可以与输入序列中 ...

  6. Apache日志解读

    想要知道什么人在什么时候浏览了网站的哪些内容吗?查看Apache的访问日志就可以知道.访问日志是Apache的标准日志,本文详细解释了访问日志的内容以及相关选项的配置. 一.访问日志的格式  Apac ...

  7. JAVA + SELENIUM--环境搭建

    一.安装JDK    可在JAVA官网http://www.java.com/zh_CN/download/ 中下载最新的JDK,并按提示安装    环境变量配置:我的电脑右键-->属性--&g ...

  8. hadoop版本与支持的hbase版本对照…

    hadoop版本与支持的hbase版本对照表 分类: hbase2013-05-20 17:19 701人阅读 评论(2) 收藏 举报 HbaseHadoop As of Hive 0.9.0 the ...

  9. RHEL&nbsp;6&nbsp;搭建ftp服务&nbsp;xinetd,telnet

    1.挂载光盘 设置vmware中光驱选项,载入rhel6光盘镜像 6 搭建ftp服务 xinetd,telnet" /> 2.安装rpm包 输入"#cd /media/&qu ...

  10. 使用BIND安装智能DNS服务器(二)---配置rndc远程控制

    首先两个BIND DNS服务器要正常运行.       主DNS服务器IP:192.168.1.100 客户机DNS服务器IP:192.168.1.101 1 主DNS端配置: cd /etc/ 生成 ...