推个例:普通B/S模式(同步)AJAX技术(异步)
同:提交请求->等待服务器处理->处理完毕返回
这个里面客户端浏览器不能够干任何事
异步:
一般的B/S模式就是是一头,而AJAX技术就是是异步,当然XMLHttpReques有协同的选项项。
央通过波触发->服务器处理(这时浏览器还可以发任何事情)->处理完毕
一起就是若让自己去用,我听到了不畏跟而失去用餐;如果没听到,你便非停歇的于,直到自己报你听到了,才同错过用。
异步就是您叫我,然后自己失去吃饭,我获得信息后恐怕及时走,也或等到下班才去就餐。
联手:提交请求->等待服务器处理->处理完毕返回。这个次客户端浏览器不克干任何事。
就此,要本人要您吃饭就是因此同的方式,要请自用就是就此异步的方法,这样您得看看钱。
选个例证 打电话时一起 发消息是异步
省open方法的几乎独参数。
.open (http-method, url, async, userID, password)
(后面是帐号与密码,在查禁匿名访问的http页面被,需要用户称及口令)
先是看异步处理方式。
里头async是一个布尔值。如果是异步通信方式(true),客户机就非待服务器的响应;如果是同台方式(false),客户机就要赶服务器返回消息继才去执行外操作。我们要依据实际得来指定同方式,在某些页面中,可能会见发出多单请求,甚至是发集体出计划出队形大规模的胜强度的request,而后一个凡会蒙前一个底,这个时刻自然如果指定同方式:Flase。
异步:
请求通过波触发->服务器处理(这是浏览器还可以发其他工作)->处理完毕。
推选个活的例证吧:
同步就是您叫我错过就餐,我听见了就算与您失去用;如果没有听到,你不怕不停止的吃,直到自己告诉您听到了,才联合去吃饭。
异步就是你被自己,然后自己去就餐,我获得信息继恐怕及时走,也恐怕等到下班才去用。
之所以,要自请而吃饭就是就此同的主意,要乞求我用就是因此异步的法门,这样您可以望钱。
双重推个例证,打电话时并,发短信是异步。
ajax的open()方法
用法:open(http-method,url,async,userID,password)
后面是帐号以及密码,在查禁匿名访问的http页面被,需要用户称与口令。
ajax.open方法中,第3单参数是如同步还是异步。prototype等js类库一般还沉默认为异步,即设为true。
先说生齐的动静下,js会等待请求返回,获取status。不需onreadystatechange事件处理函数。
而异步则要onreadystatechange事件处理,且值也4复正确处理下面的始末。
首先看望异步处理方式。
里面async是一个布尔值。如果是异步通信方式(true),客户机就无待服务器的应;如果是合方式(false),客户机就要赶服务器返回消息后才去执行另外操作。我们用基于实际需要来指定同方式,在少数页面被,可能会见来多只请求,甚至是来团体发生计划有队形大规模的赛强度的request,而后一个是碰头挂前一个的,这个时自然要指定同方式:Flase。
吁方式
GET
顶普遍的HTTP请求,普通上网浏览页面就是GET。GET方式的参数请求直接和于URL后,以问号开始。(JS中因故window.location.search获得)。参数可以为此encodeURIComponent进行编码,使用方法:
var EnParam = encodeURIComponent(param);
- URL只支持大约2K底长度,即2048字符数;
- 以GET进行AJAX请求时会缓存导致出现的页面不是不利的,一般方法加random参数值;
- ajax.send(null)。
POST
通向服务器交由数据用到。
- 消将form表单中的值先取出转换成为字符串,用&符号连接,(同GET威尼斯人官网传参数一样);
- 交给数据量2GB;
- 行使ajax.setRequestHeader(‘Content-Type’,
‘application/x-www-form-urlencoded’),处理提交的字符串; - ajax.send(strings),这个strings表示form中得付出的始末,例如a=1&b=2类似这样的字符串。
程序示例
联合传输模式:
function RequestByGet(nProducttemp,nCountrytemp)
{
var xmlhttp
if (window.XMLHttpRequest)
{
//isIE = false;
xmlhttp = new XMLHttpRequest();
}
else if (window.ActiveXObject)
{
//isIE = true;
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
//Web page location.
var URL="http://www.baidu.com/;
xmlhttp.open("GET",URL, false);
//xmlhttp.SetRequestHeader("Content-Type","text/html; charset=Shift_JIS")
xmlhttp.send(null);
var result = xmlhttp.status;
//OK
if(result==200)
{
document.getElementById("div_RightBarBody").innerHTML=xmlhttp.responseText;
}
xmlhttp = null;
}
异步传输模式:
var xmlhttp
function RequestByGet(nProducttemp,nCountrytemp)
{
if (window.XMLHttpRequest)
{
//isIE = false;
xmlhttp = new XMLHttpRequest();
}
else if (window.ActiveXObject)
{
//isIE = true;
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
//Web page location.
var URL="http://www.baidu.com/";
xmlhttp.open("GET",URL, true);
xmlhttp.onreadystatechange = handleResponse;
//xmlhttp.SetRequestHeader("Content-Type","text/html; charset=UTF-8")
xmlhttp.send(null);
}
function handleResponse()
{
if(xmlhttp.readyState == 4 && xmlhttp.status==200)
{
document.getElementById("div_RightBarBody").innerHTML=xmlhttp.responseText;
xmlhttp = null;
}
}
http://www.bkjia.com/AJaxjc/753095.htmlwww.bkjia.comtruehttp://www.bkjia.com/AJaxjc/753095.htmlTechArticle普通的B/S模式就是同步,而AJAX技术就是异步,当然XMLHttpReques有同步的选项。
同步:提交请求->等待服务器处理->处理完毕返回。这个之间客…