ajax同步请求

在使用jq发送ajax到后台时默认是异步请求,会在发送ajax请求的同时继续执行下面的js代码,如果下面的js代码需要使用到ajax传输过来的参数时,就会获取不到,这个时候就应该把异步请求改为同步请求,只有ajax请求响应完成之后才会继续执行下面的ajax代码,例如:

var datas;
$.ajax({
    url: url,
    type: "POST",
    data: "",
    cache: false,
    dataType: "json",
    success: function (data) {
       datas = data;
    }
});
alert(datas);

这篇js代码段在执行到ajax请求的同时会继续执行下面的弹窗语句,这时ajax并没有将数据响应回来,所以没有结果,可以加入async:false,开启同步请求。

var datas;
$.ajax({
    url: url,
    type: "POST",
    data: "",
    cache: false,
    dataType: "json",
    async:false,  //同步方式发起请求
    success: function (data) {
       datas = data;
    }
});
alert(datas);

在同步请求开启的情况下结果打印正常

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏开源优测

python selenium2示例 - 启动不同浏览器

一、启动firefox浏览器 不需要下载任何驱动,原生支持firefox,但要注意firefox浏览器的版本,如果出现启动firefox失败的情况,请降低或升级...

34860
来自专栏电光石火

如何安装python

下载自己需要的python版本https://www.python.org/downloads/

221100
来自专栏Python

django2源码安装xadmin过程中遇到模块缺少,如No module named 'crispy_forms'等问题解决办法

我在最近的django开发过程中遇到一些问题,就是我在github上下载xadmin源码包之后,然后setings之中也进行了配置,出现了如下问题

18820
来自专栏木宛城主

Hyper-V 怎样拷贝文件至虚拟硬盘并附加到虚拟机上

对于大文件来说,通过远程桌面拷贝是件麻烦的事情,虽然简单,但速度受限太多,不推荐使用。 我工作中对于大文件的拷贝,通过创建一个新的虚拟硬盘(VHD),再把大...

37290
来自专栏白驹过隙

Redis - 常用命令操作

32260
来自专栏Jackson0714

Java环境变量配置

27430
来自专栏积累沉淀

web service中配置tcp/ip监视器

配置tcp/ip监视器(请求转发+请求信息记录) 监听port : 8989(wsdl文件中的address属性一致) 监听主机 :ip 转发的po...

23190
来自专栏JetpropelledSnake

Linux学习笔记之CentOS6.9 防火墙的关闭以及开启

有的时候,我们需要对系统的防火墙进行操作,今天小编就给大家讲解一下如何开启以及关闭CentOS6.9系统下的防火墙。

10410
来自专栏尾尾部落

手把手教你在centos7中安装mysql数据库

CentOS 7 版本将MySQL数据库软件从默认的程序列表中移除,用mariadb代替了。 所以要安装mysql有两种方法,一种是直接安装mariadb,另...

27040
来自专栏Jerry的SAP技术分享

使用Cloud application Studio在C4C UI里创建下拉列表(dropdown list)

在Cloud Application Studio里新建一个Code List Data Type:

10200

扫码关注云+社区

领取腾讯云代金券