Ajax如何实现网页异步更新
1:ajax的概念
全称:Asynchronous Javascript And Xml
AJAX不是一种新的编程说话,而是一种用于创立更快更好乃至交互性更强的WEB利用程序技术,该技术在98年前后得到了利用。通过AJAX,你的JS可以通过JS的XMLHttpRequest对象在页面不重载的状况下与效劳器直接停止通讯。这样可以在效劳器恳求到想要的数据,而不是整个页面。AJAX的中心就是JS的XMLHttpRequest对象。xhr对象是在IE5中首次引入,它是一种支撑异步恳求的对象。
2:ajax的优势
无刷新更新数据。
异步与效劳器通讯。
基于标准被广泛支撑。
前端与后端别离。
节约带宽。
3:编写步骤
1.创立XMLHttpRequest对象。
所有现代阅读器(IE7+,chrome,firefox,opera,safari)均内建XMLHttpRequest对象。但是IE5、6使用ActiveXObject对象。
function getAjax() { var xmlhttp = null; if(window.ActiveXObject){ xmlhttp = new ActiveXObject(’Microsoft.XMLHTTP’); } else if(window.XMLHttpRequest){ xmlhttp = new XMLHttpRequest(); } return xmlhttp; }
2.翻开与Server的连接,指定发送方式、URL乃至权限等。
open办法:创立新的HTTP恳求,并指定此恳求的办法,URL乃至验证信息。
xhr.open(type, url, async, user, password);
type:HTTP恳求方式,GET、POST等。大小写不敏锐。
url:恳求地址。
async:布尔型,恳求可否为异步方式。默许为true。假如为真,当状态改动时会调取onreadystatechange属性指定的回调函数。(可选)
user:假如效劳器需要验证,此处指定会员名,假如未指定,当效劳器需要验证时,会弹出验证窗口。(少用仅理解)
password:验证信息中的密码部分,假如会员名为空,则此值将会被忽略。(少用仅理解)
注:
在AJAX中,其实我们就是来模拟正常的表单提交数据。正常的表单在POST数据时,会发送Content-Type字段,所以我们在AJAX中就要指定该字段值为application/x-www-form-urlencoded。并且对字段名称和值停止编码处置在发送。使用setRequestHeader:独自指定恳求的某个HTTP头。
注:数据应使用encocdeURIComponent()函数停止编码。
3.发送指令。
send():发送恳求到HTTP效劳器并接收回应。
此办法的同步或异步方式取决于open办法中的async参数,假如async为true,此办法将马上返回,假如为false,此办法将会等候恳求完成或者超不时才会返回。
xhr.send(body);
body:通过此恳求发送的数据。GET恳求设定为null即可。
4.等候并接收效劳器返回的处置结果。
5.客户端接收。
6.开释XMLHttpRequest对象。
4:回调函数
通过onreadystatechange属性指定readystate属性改动时的事件处置回调函数。
xhr.onreadystatechange = function(){}
readyState属性:返回恳求的当前状态。
状态:
0:对象已创立,尚未初始化(未调取open办法)。
1:对象已创立,尚未调取send办法。
2:send办法已调取。但是当前的状态乃至HTTP状态未知。
3:开端接收数据,由于响应乃至HTTP头不全,这时通过responseBody和responseText猎取部分数据会显现错误。
4:数据接收完毕,此时可以通过responseBody和responseText猎取完全的响应数据。
status属性:返回当前恳求的状态码。
200 OK:恳求文档已经寻到,并准确返回。
304 Not Modified:具有一个当地的缓存副本,效劳器端内容与此雷同。
403 Forbidden:恳求者对所恳求的文档不具有响应的权限。
404 Not Found:恳求的文档没寻到。
statusText属性:返回当前恳求的响应行信息。
responseXML属性:将响应信息格局化为XML Document对象返回。
responseText属性:将响应信息作为字符串返回。
5:JS解析JSON
JSON简介:(js文章中有提到)
定义:Javascript Object Notation,一种轻量级的基于文本的数据交流格局,易于人阅读和编写,也能提高网络传输速率。
ES5新增的两个办法:
JSON.parse:将JSON字符串数据转换为JSON对象。
JSON.stringify:将JSON对象转换为JSON字符串。
注:1、阅读器支撑:IE8+。
2、JSON格局的字符串里面的key或者字符串型的value都必需用双引号包裹。
6:部分数据刷新
操纵响应的DOM节点(例如评论列表的分页结果)
7:事件拜托的利用
事件拜托:利用冒泡机制,将子元素事件拜托给父元素施行(例如某些新闻网站有去除部分会员不喜欢的新闻)
8:前后端别离
后台尽管数据输出和业务逻辑处置,前端负责交互逻辑和界面展现。简便的说:前端静态页面中没有有后台程序代码,后台输出不带有HTML标签的数据。
前后端别离靠ajax来实现数据的交互。(函数分装实现详细的别离,demo中给出)
信赖看了这些案例你已经把握了办法,更多出色请关注百分百源码网其它相关文章!
相关阅读:
怎样解决layer.photos()异步修改图片地址后显示非常的问题
以上就是Ajax怎样实现网页异步更新的具体内容,更多请关注百分百源码网其它相关文章!