浅析$.getJSON异步请求和同步请求
作者:jingxian 发布时间:2024-11-17 03:26:46
标签:json,异步请求
先说一下我遇到的问题吧,我之前的一个函数想调用上一个函数的返回值,但是它的返回值一直为空,后来翻了一些资料才明白是异步请求在作怪,不多说,看例子,这是我之前有返回值函数的代码:
function get_no_order_array() {
var order_info = show_order();
var order = [];
$.getJSON("../JSON/customers.json", function (date) {
date["man"].forEach(function (person) {
if (order_info.k_obj[person] == undefined) {
order.push(person);
}
})
});
return order;
}
后来发现打印的数组order 一直为空,以下是改正后的代码:
function get_no_order_array() {
var order_info = show_order();
var order = [];
$.ajaxSettings.async = false;//在执行之前加$.ajaxSettings.async = false; (同步执行)
$.getJSON("../JSON/customers.json", function (date) { //<span style="line-height: 1.5;">$.getJSON不懂的话可以看一下我之前的博客,或是专门学习一下 “JSON”</span>
date["man"].forEach(function (person) {
if (order_info.k_obj[person] == undefined) {
order.push(person);
}
})
});
$.ajaxSettings.async = true;//执行你的代码之后及时恢复为$.ajaxSettings.async = true; (异步执行)
return order;
}
在循环之前加一个$.ajaxSettings.async = false; 表示同步执行,这样他就会按照顺序执行了。
同时执行多个$.getJSON() 数据混乱的问题的解决
在执行之前加$.ajaxSettings.async = false; (同步执行)
执行你的代码之后及时恢复为$.ajaxSettings.async = true; (异步执行)
不然影响别的地方的需要异步执行的代码。
example:
$.ajaxSettings.async = false;
$.getJSON(url, data, function(data){ });
$.getJSON(url, data, function(data){ });
$.getJSON(url, data, function(data){ });
......
$.ajaxSettings.async = true;


猜你喜欢
- 本文以一个完整实例的形式实现了视频文件上传的功能。虽然是比较基础的应用,仍有一定的参考价值。分享给大家供大家参考之用。具体方法如下:首先,对
- 学Python之前我们先来几个简单的小游戏练练手,这三个小游戏一个比一个复杂,建议新手慢慢来:1.猜拳import random  
- 我们在网页中使用CSS来设置网页、表格和字体大小,一般使用的是网络上较流行的9磅字:<STYLE type=TEXT/CSS
- 本文实例为大家分享了python静态服务器的具体代码,供大家参考,具体内容如下#coding:utf-8import socketimpor
- 本文实例讲述了django框架model orM使用字典作为参数,保存数据的方法。分享给大家供大家参考,具体如下:假设有一个字典,里面已经有
- 本文实例讲述了Python快速查找算法的应用,分享给大家供大家参考。具体实现方法如下:import randomdef partition(
- 这篇文章主要介绍了python被修饰的函数消失问题解决(基于wraps函数),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的
- 最终的效果废话不多少,直接上图这里可以清楚的看到,数据库里包含了日期,内容,和网站link下面我们来分析怎么实现使用的库import req
- 引子首先说 正则表达式是什么?正则表达式,又称正规表示式、正规表示法、正规表达式、规则表达式、常规表示法(英语:Regular Expres
- 每天面对成堆的发票,无论是发票还是承兑单据,抑或是其他各类公司数据要从照片、PDF等不同格式的内容中提取,我们都有必要进行快速办公的能力提升
- 今天,在家试试django的model的设置,如何设置的联合主键,我经过查资料和实践,把结果记录如下:例如:class user(Model
- 我以centos 4.4 下面的mysql 5.0.33 手工编译版本为例说明:vi /usr/local/mysql/bin/m
- 前言有的时候上游传过来的字段是string类型的,但是我们却想用变成数字来使用。 本来用一个json:",string"
- Django项目默认使用sqlite 数据库,但是我想用mysql数据库,应该如何配置呢。Django连接mysql数据库的操作,是通过根模
- 前言由于Django是 * 站,所有每次请求均会去数据进行相应的操作,当程序访问量大时,耗时必然会更加明显,最简单解决方式是使用:缓存,缓存
- 见下:<form action="./calculation.asp"><input&nbs
- 最近打算在win系统下使用pycharm开发程序,并远程连接服务器调试程序,其中在import tensorflow时报错如图所示(在远程服
- 由于个人能力有限,文章中难免会出现错误或遗漏的地方,敬请谅解!同时欢迎你指出,以便我能及时修改,以免误导下一个看官。最后希望本文能给你带来一
- Linux默认python命令指向的是/usr/bin下的python,这个python指向同目录下python2,以及pip默认也是pyt
- 在开始聊我在阿里四个月的网页推广设计之前,我想先来说说我对平面设计和网页设计的认识。它们之间的交集。1.它们都是集艺术创作、电脑技术和数字技