关于使用ajax给全局变量赋值失败的问题
比如
var num = 5;$.ajax({url: "../TongJiBaoBiao/ZhengQueLv", success: function (res) {json = JSON.parse(res);alert("json[0].Column:" + json[0].Column1);}});num = parseInt(json[0].Column1);
以上代码alert能够获取到内容,但是 num = parseInt(json[0].Column1)中num的赋值是失败的。
原因如下:
ajax默认为异步请求,也就是
async: true
async在不写的情况下默认为async: true;
什么是异步请求呢?
就是ajax里边的回调函数function(),是在后端数据返回后才执行,原script代码在执行get或post请求后就继续执行往下的代码了,等到后端数据发送过来后,才回过头来执行function()函数,于是function()后给num的赋值操作num = parseInt(json[0].Column1)会先被执行,然后再执行function()函数,所以,但是num的赋值跟function()的返回值有关,所以导致失败。这也是function()函数被称为回调函数的原因。也是被称为异步的原因。
解决办法
把异步请求去掉,改成同步请求:
var num = 5;$.ajax({url: "../TongJiBaoBiao/ZhengQueLv", async: false,success: function (res) {json = JSON.parse(res);alert("json[0].Column:" + json[0].Column1);}});num = parseInt(json[0].Column1);
关于使用ajax给全局变量赋值失败的问题相关推荐
- ajax实现给JavaScript中全局变量赋值(转)
原文地址:ajax实现给JavaScript中全局变量赋值 问题简化: <script type="text/javascript"> var a=1 ; functi ...
- 利用ajax赋值,jquery利用async在ajax中给全局变量赋值
var bool_=false; function set_state(url){ $.ajax({ type:'get', url:url, data:'', dataType:'html', as ...
- 解决ajax无法给js全局变量赋值的问题
解决ajax无法给js全局变量赋值的问题 参考文章: (1)解决ajax无法给js全局变量赋值的问题 (2)https://www.cnblogs.com/zealousness/p/8757950. ...
- 关于Ajax回调函数内返回值无法给全局变量赋值的问题
众所周知,Ajax从后端获得数据到回调函数,想要将获取的值赋给全局变量的话要将Ajax中的async改为false,使其同步,不然js在按顺序执行时等请求发出后就先去执行Ajax下面的代码了. var ...
- jquery 异步调用方法中不能给全局变量赋值的原因及解决办法
在调用一个jquery的ajax方法时我们有时会需要该方法返回一个值或者给某个全局变量赋值,可是我们发现程序执行完后并没有获取到我们想要的值,这时很有可能是因为你用的是ajax的异步调用async:t ...
- ajax里数组添加数据,小笔记(一):ajax传递数组及将ajax返回数据赋值
当使用ajax传递数据时,有可能传递多个数据,这是使用以下方法传递数据就会显得数据过多且混杂 $.ajax({ type:'post', url:url, data:{data:data,conten ...
- python label textvariable_在子窗口中为标签的textvariable赋值失败时,有关,给,Label,问题...
写了个母子窗体程序,当主窗口打开子窗口后,通过set textvariable 的发发对Label标题赋值失败,如果将子窗体程序单独运行,则正常.请教各位大神如果处理,多谢! from tkinter ...
- ajax请求成功和失败方法_创新需要反馈和失败的新方法
ajax请求成功和失败方法 今天,"组织文化"令人不解,有充分的理由. 越来越多的领导者意识到,渗透并指导其组织的文化将决定他们是成功还是失败. 术语"组织文化" ...
- JavaScript中字符串数组赋值失败,不是每个字符串,却是字符。
我的处女作<Canvas系列教程>在我的Github上正在连载更新,希望能得到您的关注和支持,让我有更多的动力进行创作. 教程介绍.教程目录等能在README里查阅. 传送门:https: ...
最新文章
- Java控制语句——switch语句
- pyspark distinct代码示例
- php入门速成(2),PHP入门速成(1)
- Pytorch开发环境安装(Windows版本)
- 移除集合效率高还是add高_java集合详解
- SQL服务器引擎组件概览
- Linux 命令(30)—— scp 命令
- python中casefold()函数的用法
- hdfs居然无法正常停止
- 【工具】Sublime Text 自动保存功能
- Python 格式化字符串f-string概览(转载)
- 更改ESXi主机root用户密码
- mac安装mysql出错_Mac 安装MySQL过程遇到的问题
- 万用表使用_如何使用万用表
- 内卷机器下的自我救赎
- ffmpeg录制音频 命令行与C++实现
- 计算机windows错误恢复,教你“Windows错误恢复”的修复方法技巧
- mysql杀死锁死的进程_如何杀死MySQL进程
- 桌面Ubuntu卡死解决方案
- 虚拟机或公有云搭建wordpress博客