jquey中ajax请求的异步和同步设置

需要实现的效果:点击按钮后,分别调用三个接口更新数据,数据更新完之后刷新当前页面。

(实现方式未必是最好的,此处只关注ajax的异步设置)

一般情况下使用 $.ajax()
是异步处理的,三个ajax请求分别发送后,可以在未有response返回的情况下继续执行下面reload()页面的代码

设置 async 为 false
则可以让ajax请求变成同步执行,就是执行完第一个请求后再执行第二请求。


 1 function initData(nick, url, accessToken) {
2 $.ajax({
3 async: false,//把异步请求改为同步
4 url: url,
5 type: "GET",
6 dataType: ‘json‘,
7 data: {nick: nick, is_refresh: true, access_token: accessToken},
8 complete: function (resp) {
9 return true;
10 }
11 });
12 }
13
14 $(document).ready(function () {
15 $(".refresh").click(function (event) {
16 var nick = "test";
17 $.get("http://www.test.com?r=ruleLog/findsession"", {nick: nick}, function (resp) {
18 if (resp.flag) {
19 var accessToken = resp.data;
20 var tmp_url = "http://www.test.com?r=init/tem_action";
21 var actions = [‘campaign‘, ‘adgroup‘, ‘creative‘];
23 for (var i = 0; i < actions.length; i >= 0) {
24 var url = tmp_url.replace("tmp_action", actions[i]);
25 initData(nick, url, accessToken);
26 i++;
27 }
28 location.reload();
29 } else {
30 alert(resp.data);
31 }
32 }, ‘json‘);
33 });
34 });

时间: 2024-08-13 15:17:18

jquey中ajax请求的异步和同步设置的相关文章

javascript中Ajax请求的封装代码

/****************************ajax请求 start**************************************/ function ajaxClass(_url, _successCallback, _failureCallback, _urlParameters, _callbackParams, _async, _charset, _timeout, _frequency, _requestTimes, _frame) { /** * AJAX

jQuery 中 ajax 请求数据应用的一个小demo

举一个jquery中ajax的应用小 demo 便于以后的更多项目拓展 ,这里要注意的是保存的文件名和文件图片路径问题 ... ajax01.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title> ajax小例子 </title> </head> <body> <!--

如何将Ajax请求从异步改为同步

Ajax请求默认的都是异步的 如果想同步 async设置为false就可以(默认是true) var html = $.ajax({   url: "some.PHP",   async: false }).responseText; 或者在全局设置Ajax属性 $.ajaxSetup({   async: false   }); 再用post,get就是同步的了 转载来源:http://blog.csdn.net/xiaoguang44/article/details/6454727

ajax请求的异步嵌套问题分析

(本文章以as3代码为例) 问题的产生 在前端开发时,经常会使用到Ajax(Asynchronous Javascript And XML)请求向服务器查询信息(get)或交换数据(post),ajax请求都是异步响应的,每次请求都不能同步返回结果,而且多次请求嵌套在一起时,逻辑很难处理,怎么办呢? 在as3中,get请求的写法通常如下 public static function httpGet(url:String):void { var httpService:HTTPService =n

vue 中 ajax请求封装以及使用方法

async/await 1)async/await场景 这是一个用同步的思维来解决异步问题的方案,当前端接口调用需要等到接口返回值以后渲染页面时. 2)名词解释 >async  async的用法,它作为一个关键字放到函数前面,用于表示函数是一个异步函数,因为async就是异步的意思, 异步函数也就意味着该函数的执行不会阻塞后面代码的执行,             async 函数返回的是一个promise 对象. >await await的含义为等待.意思就是代码需要等待await后面的函数运

Spring MVC 中 AJAX请求并返回JSON

一.以ModelAndView的方式返回 先看下JavaScript代码: 1 /** 2 * 保存-同步(版本控制库) 3 */ 4 function saveSynchronizedVcHorse(obj) { 5 var ss = $("#SynchronizedSelection div"); 6 var cacheSelectAry = new Array() 7 for(var i = 0; i < ss.length; i ++) { 8 //alert(ss.eq

Extjs中ajax请求当session失效时自动跳转

当session失效时,我们可以通过filter来拦截并重定向到登陆页面,可是请求如果是ajax请求,页面并不会重定向,这是因为ajax返回的是数据,无法返回页面. ajax异步请求不同于其他请求,其在请求头里包含有X-Requested-With:XMLHttpRequest,看下面两张图的区别. 我们可以在filter中通过它来判断一个请求是不是异步的,如果是,我们可以返回一个sessionstatus,在页面上通过判断sessionstatus的值来判断session是否失效. 第一张是普

jquey的 ajax请求的几种方式

在jquery中,提供了集中方法来进行ajax操作 一.$.get(url,[data],[callback]) 向服务器发起get操作. 说明:url为请求地址,data为请求数据的列表(json对象),callback为请求成功后的回调函数,该函数接受两个参数,第一个为服务器返回的数据,第二个参数为服务器的状态,是可选参数. 二.$.getJSON(url,[data],[callback]) 向服务器发起get操作. 说明,对于get或getJSON方法,对服务器的返回数据格式要求有区别.

js 中ajax请求时设置 http请求头中的x-requestd-with= ajax

今天发现 AngularJS 框架的$http服务提供的$http.get() /$http.post()的ajax请求中没有带 x-requested-with字段. 这样的话,后端的php 就无法判断 接受的http请求是否是 ajax请求了. 怎么办呢,显然就是给http 请求头中 加上这个字段就可以了. 1.AngularJS 中可以这样子: I don't know well MVC3 but you can set a custom header for all request fr