ajax简写同步,Ajax 同步异步互相转换以及区别

Ajax同步异步的区别:

xmlHttp.open(method,url,async);

async:布尔值,用来说明请求是否为异步模式。是来控制JavaScript如何执行该请求。

异步请求:当async设置为true时,将以异步模式发送请求,JavaScript代码将继续执行而不再等待响应,且必须使用一个事件处理函数来监控请求的响应。

同步请求:当async设置为false时,将以异步模式发送请求,JavaScript将等接收到响应后再继续执行剩余代码。这意味着如果响应时间长,用户在浏览器收到响应前是无法与其交互的。

因此,Ajax开发建议是:使用异步请求来实现数据获取,使用同步请求来实现与服务器之间发送和接收简单的消息。

用同步模式来发送请求(将open()方法的第三个参数设置为false),可以使你在调用send()方法之后马上对其响应进行处理。

这对于想让用户交互等待响应,或希望只接受很少的数据(例如,小于1kb)的应用场景是很有用的。

而对于通常数据量或者较大的数据量而言,最好是使用异步调用

Ajax例子:

e991e7288a7f416f93f0ee0fdb1069c5.gif

Ajax同步异步转换

//在post/get提交方式的简写:

$.post/get("url",{data},function(response){});

//默认是异步的!

$.ajax(

type: "POST/GET",

url: "",

data: {},

dataType: "json",

async: true / false,

success: function(date) {

}

);

//success是之前的写法,现在推荐用.dane()

//这是最常见的使用ajax方法了。下面实现ajax的同步请求:

$.ajax(

type: "POST/GET",

data: {},

async: false,

).done(function(date) {

});

//ajax同步请求最常见的就实现ajax请求的结果数据返回。

//比如在用ajax方法成功得到相应后,我们需要把ajax的返回结果return出去给外部的函数使用这时需要同步。

function ajax() {

var backData;

$.ajax(

type: ”post”,

data: {},

async: false, //更改为同步

).done(

function(response) {

backData = response;

});

return backData;

}

var newData = ajax();

//此时newData = response;

//在此过程中注意修改async, 它如果是true( 默认),

//那么就是在异步的情况下, 这种情况下实现return是不能实现的, 因为异步就说明了程序的执行顺序和效果发生了改变。 修改为同步, 实现返回值。

//举例ajax异步转同步

//添加新用户

function ajaxNew(username){

var username;

var newVal;//添加以后新用户的信息

$.ajaxSetup({ //ajax异步转同步

async : false

});

$.get("./ajaxAdmin.php?use="+username+"&new=1",

function(data,status){

// alert("内容:"+data+"\n状态: "+status);

//存储信息

newVal=data;

});

return newVal;

alert(newVal);

}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值