先来看一代码ajax

function checkoldpass($pass) {

$.ajax({

type: 'get',

url: '/admin/check',

data: {'password': $pass},

dataType: 'json',

success: function (data) {

console.log(data)

}

});

console.log(123);

}

这个运行结果是:json

浏览器控制台先打印:123,而后才打印返回来的data。浏览器

为何会是这样。由于js ajax请求原生就是异步的。异步

这就是说若是你在ajax回调函数外声明的变量,在ajax外打印会是null或者是undefined

async

function checkoldpass($pass) {

var msg = null;

$.ajax({

type: 'get',

url: '/admin/check',

data: {'password': $pass},

dataType: 'json',

success: function (data) {

msg = data

}

});

console.log(msg);

}

这样打印出来的msg确定是null。由于是异步的,因此js顺序执行到msg这里确定是空了。ide

解决这个问题的办法函数

function checkoldpass($pass) {

var msg = null;

$.ajax({

type: 'get',

url: '/admin/check',

data: {'password': $pass},

dataType: 'json',

async:false,

success: function (data) {

msg = data

}

});

console.log(msg);

}

在请求的代码里加上async:false,把请求设置为同步的。这样只有回调以后,js才会执行下面的代码。url

但这种体验我的感受很差。仍是在回调里完成其它的操做比较好。get

ajax回调给全局变量,jquery.Ajax回调成功后数据赋值给全局变量的问题相关推荐

  1. ajax send报错,jquery ajax beforeSend 提交等待问题

    需要使用异步加载async : true 否则不会出现等待效果 $.ajax({ url : $('#form').attr("action"), data: $('#form') ...

  2. php mysql ajax登录界面_PHP+jQuery+Ajax实现用户登录与退出

    本文使用Ajax无刷新登录和退出,从而提升了用户体验. 若用户为登录状态,则显示用户相关登录信息,否则显示登录表单. 用户登录与退出功能应用在很多地方,而在有些项目中,我们需要使用Ajax方式进行登录 ...

  3. Ajax如何设置contenttype,jquery ajax contentType设置

    默认get方法没有contentType,post方法的contentType为:application/x-www-form-urlencoded; charset=UTF-8 (1) 设置成app ...

  4. ajax 成功回调函数,jQuery的阿贾克斯成功回调函数定义jQuery的阿贾克斯成功回调函数定义(jQuery ajax...

    我想使用jQuery的ajax从服务器获取数据. 我希望把成功的回调函数定义外面.ajax()块像下面这样. 所以,我需要声明变量dataFromServer像下面这样我就能从成功回调使用返回的数据? ...

  5. c 中ajax不起作用,Jquery AJAX調用:$(this)在成功后不起作用

    I am wondering why $(this) does not work after a jQuery ajax call. 我想知道為什么$(this)在jQuery ajax調用之后不起作 ...

  6. ajax的结果处理,jQuery ajax返回数据的后续处理

    简述 在jQuery中ajax默认是异步请求,我们大多数也需要异步请求,比如: var temp; $.ajax({ type : "post", url : 'test.json ...

  7. ajax用户注册验证视频,jquery+ajax实现注册实时验证实例详解

    本文实例讲述了jquery+ajax实现注册实时验证.分享给大家供大家参考,具体如下: 当我们注册一个用户时,会实时提示该用户的信息是否可用,这就是ajax的应用,很久以前就看过这个实现了,今天又看了 ...

  8. ajax datatype为html,Jquery ajax请求中datatype的含义

    一切从一个普通的前端ajax请求jspringMVC后端的例子开始, 前端jquery ajax 请求: $.ajax({ url: getAbsoluteUrl('score/findScore') ...

  9. SSM框架,ajax实现登陆界面验证和登陆成功后页面跳转问题

    账号.密码和验证码都正确后,使用了ajax实现验证,验证结束后不能像正常一样返回一个字符串,用视图解析器来跳转页面 <!--配置JSP 显示ViewResolver(视图解析器)--> & ...

最新文章

  1. python3官方说明文档_接下来? · Python3.7.3官方文档 简体中文 · 看云
  2. 从底层理解Python的执行
  3. 解决Unity协程无法同步返回的问题
  4. 优秀学生专栏——董超
  5. centos常用命令_二、Docker镜像是什么?Docker常用命令
  6. erp系统是什么软件有哪些
  7. python 声明不赋值_为什么Python赋值不返回值?
  8. DE21 Convolution Formula
  9. WAP开发资料站(最新更新)
  10. 20155207第十章课下测试补交
  11. Activiti5.22:删除工作流引擎自动创建的外键约束
  12. 计算机怎么看事件管理,win7系统事件查看器怎么打开
  13. 怎么用阿里云服务器部署项目?上传简单项目
  14. HTML制作一个介绍自己家乡的网站——贵阳,排版整洁,内容丰富,主题鲜明
  15. 百科知识 ass文件如何打开
  16. UEFI 中的Gmac网卡驱动实现
  17. Android软键盘使用
  18. Linux MySQL数据库的备份
  19. 编译器连接器分析器_使用构建分析器了解您的构建
  20. 两栏布局的几种实现方式

热门文章

  1. python进程池_python进程池剖析(一)
  2. php和windows对应,哪个.so文件可以用于windows系统中与.dll文件相对应的linux系统,以便将php连接到ms sql server...
  3. 行政区域村级划分数据库_最新行政区划代码省市区三级 乡镇街道四级 村五级 数据库(2020年11月版 )...
  4. 广州专科计算机学校录取分数线,广州大专多少分能录取?高考分数170分能上广州大专?...
  5. 交叉编译openwrt php,交叉编译n2n,以openwrt为例子
  6. 【BZOJ】1756: Vijos1083 小白逛公园(线段树)
  7. 树莓派 Learning 002 装机后的必要操作 --- 03 替换软件源
  8. struts 的action 线性安全问题
  9. 让Android软键盘默认进入英文键盘
  10. 如何在win下使用linux命令