4 回答
TA贡献1829条经验 获得超13个赞
这个要跟同步的概念一起理解,举个同步的例子
就是当你浏览页面的时候,你点击一个按钮或者链接,那么这个界面就会向服务器发送请求,此时你眼前的界面就是一片空白,直到请求的数据返回页面上才有东西显示。就是一个操作要等前一个做完才可以开始。
而异步则不同,比如一个注册页面
你填写名字,密码,邮箱之类的信息,界面看上去什么都没有变化,但是其实你注册的这个界面已经向服务器发送了一个请求来验证你的用户名是否已经存在。就是后台与界面可以进行数据交互,而界面则可以继续保持一直跟用户交互而不受影响。
TA贡献1794条经验 获得超7个赞
TA贡献1872条经验 获得超3个赞
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":请求已经完成,且响应就绪,响应完成了
TA贡献1797条经验 获得超6个赞
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;
}
- 4 回答
- 0 关注
- 6495 浏览
添加回答
举报