浅析$.getJSON异步请求和同步请求


Posted in Javascript onJune 06, 2016

先说一下我遇到的问题吧,我之前的一个函数想调用上一个函数的返回值,但是它的返回值一直为空,后来翻了一些资料才明白是异步请求在作怪,不多说,看例子,这是我之前有返回值函数的代码:

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;

以上这篇浅析$.getJSON异步请求和同步请求就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript 面向对象的 私有成员和公开成员
May 13 Javascript
input 和 textarea 输入框最大文字限制的jquery插件
Oct 27 Javascript
javascript的原生方法获取数组中的最大(最小)值
Dec 19 Javascript
IE中JS跳转丢失referrer问题的2个解决方法
Jul 18 Javascript
Javascript中this的用法详解
Sep 22 Javascript
js鼠标悬浮出现遮罩层的方法
Jan 28 Javascript
Bootstrap carousel轮转图的使用实例详解
May 17 Javascript
微信小程序中使元素占满整个屏幕高度实现方法
Dec 14 Javascript
Bootstrap源码解读模态弹出框(11)
Dec 28 Javascript
通过jquery获取上传文件名称、类型和大小的实现代码
Apr 19 jQuery
Vue.js实现立体计算器
Feb 22 Javascript
React 条件渲染最佳实践小结(7种)
Sep 27 Javascript
使用RequireJS库加载JavaScript模块的实例教程
Jun 06 #Javascript
ionic 上拉菜单(ActionSheet)实例代码
Jun 06 #Javascript
深入理解JavaScript 函数
Jun 06 #Javascript
Node.js的Web模板引擎ejs的入门使用教程
Jun 06 #Javascript
javascript url几种编码方式详解
Jun 06 #Javascript
ionic js 复选框 与普通的 HTML 复选框到底有没区别
Jun 06 #Javascript
ionic js 模型 $ionicModal 可以遮住用户主界面的内容框
Jun 06 #Javascript
You might like
一家之言的经验之谈php+mysql扎实个人基本功
2008/03/27 PHP
Discuz 模板语句分析及知识技巧
2009/08/21 PHP
使用PHP备份MySQL和网站发送到邮箱实例代码
2013/11/28 PHP
phpstorm编辑器乱码问题解决
2014/12/01 PHP
php实现登录页面的简单实例
2019/09/29 PHP
Yii框架小部件(Widgets)用法实例详解
2020/05/15 PHP
Aster vs Newbee BO5 第二场2.19
2021/03/10 DOTA
javascript实现锁定网页、密码解锁效果(类似系统屏幕保护效果)
2014/08/15 Javascript
JavaScript中的ParseInt(&quot;08&quot;)和“09”返回0的原因分析及解决办法
2016/05/19 Javascript
jQuery自适应轮播图插件Swiper用法示例
2016/08/24 Javascript
解决Window10系统下Node安装报错的问题分析
2016/12/13 Javascript
JS正则表达式验证密码格式的集中情况总结
2017/02/23 Javascript
JS实现DOM删除节点操作示例
2018/04/04 Javascript
分享5个好用的javascript文件上传插件
2018/09/16 Javascript
VUE2.0+ElementUI2.0表格el-table循环动态列渲染的写法详解
2018/11/30 Javascript
使用puppeteer爬取网站并抓出404无效链接
2018/12/20 Javascript
js+springMVC 提交数组数据到后台的实例
2019/09/21 Javascript
微信小程序收藏功能的实现代码
2020/06/19 Javascript
python 实现上传图片并预览的3种方法(推荐)
2017/07/14 Python
matplotlib.pyplot画图 图片的二进制流的获取方法
2018/05/24 Python
python创建属于自己的单词词库 便于背单词
2019/07/30 Python
python打造爬虫代理池过程解析
2019/08/15 Python
TensorFlow Autodiff自动微分详解
2020/07/06 Python
美国批发零售网站:GearXS
2016/07/26 全球购物
香港迪士尼乐园酒店预订:Hong Kong Disneyland Hotels
2017/05/02 全球购物
戴尔英国官网:Dell英国
2017/05/27 全球购物
苏格兰领先的多渠道鞋店:Begg Shoes
2019/10/22 全球购物
Kiwi.com中国:找到特价机票并发现新目的地
2019/10/27 全球购物
优秀生推荐信范文
2013/11/28 职场文书
美术教师自我鉴定
2014/02/12 职场文书
党课培训主持词
2014/04/01 职场文书
工资证明格式模板
2015/06/12 职场文书
爱岗敬业事迹材料
2019/06/20 职场文书
中学生打架《检讨书》范文
2019/08/12 职场文书
剑指Offer之Java算法习题精讲二叉树专项训练
2022/03/21 Java/Android
MySQL实现字段分割一行转多行的示例代码
2022/07/07 MySQL