为了账号安全,请及时绑定邮箱和手机立即绑定

请问什么是“ajax异步请求”?

/ 猿问

请问什么是“ajax异步请求”?

慕莱坞5435954 2019-06-24 18:14:14

什么是“ajax异步请求”?


查看完整描述

4 回答

?
烙印99

这个要跟同步的概念一起理解,举个同步的例子
就是当你浏览页面的时候,你点击一个按钮或者链接,那么这个界面就会向服务器发送请求,此时你眼前的界面就是一片空白,直到请求的数据返回页面上才有东西显示。就是一个操作要等前一个做完才可以开始。
而异步则不同,比如一个注册页面
你填写名字,密码,邮箱之类的信息,界面看上去什么都没有变化,但是其实你注册的这个界面已经向服务器发送了一个请求来验证你的用户名是否已经存在。就是后台与界面可以进行数据交互,而界面则可以继续保持一直跟用户交互而不受影响。

查看完整回答
1 反对 回复 2019-06-29
?
慕田峪9158850
  • 同步交互:指发送一个请求,需要等待返回,然后才能够发送下一个请求,有个等待过程;

  • 异步交互:指发送一个请求,不需要等待返回,随时可以再发送下一个请求,即不需要等待。 区别:一个需要等待,一个不需要等待,在部分情况下,我们的项目开发中都会优先选择不需要等待的异步交互方式。

  • 哪些情况建议使用同步交互呢?比如银行的转账系统,对数据库的保存操作等等,都会使用同步交互操作,其余情况都优先使用异步交互。


查看完整回答
1 反对 回复 2019-06-29
?
守着一只汪

ajxa定义:异步的JavaScript和xml


1、XMLHttpRequst的出现才有了异步处理


2、创建XmlHttpRequest对象

var request=new XMLHttpRequest();

注意:如果要兼容IE6以下浏览器则需要编写如下代码

var request;

if(window.XMLRequest){

request=new XMLRequestHttpRequest();  //IE7、IE8、360等

}else{

request=new ActiveXObject("Microsoft.XMLHTTP");//IE5、IE6

}


3、XMLHttpRequest发送请求

(1)open(method,url,async),参数的意义如下

method:GET或者POST请求方法

url:相对地址或者绝对地址

async:true或者false,默认是true,表示异步


(2)send(String)

GET请求无参数,POST请求时一定要有参数


举例A:

request。open("GET",'getDate',true);

request.send();


举例B:

request.open("POST","getDate",true)

//默认是"application/x-www-from"-urlencoden"方式提交,如果是提交文件,则需要修改成为multipart/form-data方式提交

request.setRequestHeader("Content-type","application/x-www-from"-urlencoden");

request.send("name=王二&age=25");


4、XMLHttpRequest取得响应

(1)responseText:获得字符串形式的响应数据

(2)responseXML:获得xml形式的响应数据

(3)status和statusText:以数字和文本形式返回Http转态码

(4)getAllResponseHeader():获得所以得响应报头

(5)getResponseHeader():查询响应中的某个字段的值

(6)readState属性

"0"请求未初始化,open还未调用

"1":服务器连接已经建立,open已调用

"2":请求已接收,也就是接收到头信息了

"3":请求处理中,也就是接收到响应主体了

"4":请求已经完成,且响应就绪,响应完成了




查看完整回答
反对 回复 2019-06-29
?
互换的青春

jquery$.ajax()同步与异步区别简单来说就是:
1、同步执行的话,会等待后台结果返回,方法才会继续执行下一句
2、异步的话,方法不等后台返回就会继续执行下一句。
举例说明:
$.ajax()其中有一个参数为
async: false,
false为同步
function checkodd(i) {
var returnvalue;
var options = {
type: 'POST',
url: "test.ashx",
data: { "i": i },
async:false,
success: function (result) {
if (result.code > 0) {
returnvalue = "odd";
}
else {
returnvalue = "even";
}
},
dataType: "json",
error: function (result) {
alert("error");
}
};
$.ajax(options);
return returnvalue;
}



查看完整回答
反对 回复 2019-06-29

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信