AJAX简单记录

这段时间在看前端知识,对于js的相关内容又看了一遍,说实话,之前也就是个会写函数的程度,现在至少能整点花活了。像是JQuery什么的也是看了一遍,以后有时间写一写。

这篇主要是对AJAX写一点内容,因为内容确实很少,但是确实很有意思,比起单纯的网页表单提交又高出了一个层次,比较好使。

简介

所谓AJAX,就是异步的Javascript和XML,是一种可以在不重新加载整个页面的情况下可以和服务器交换数据并更新部分网页内容的技术。

传统的网页更新内容必须要重新加载整个网页。而AJAX借用XMLHttpRequest对象用来在后台和服务器交换数据,就是借此完成了异步更新网页。

相关方法和属性

基本

XMLHttpRequest对象有两个方法用来处理请求,open()和send(),open()有三个参数,第一个,规定访问方式是GET还是POST,第二个规定文件在服务器的路径,第三个规定异步性。建议一直使用true,不然就显示不出异步的优势了。send()用来发送请求。

响应方面XMLHttpRequest对象有两个属性,responseText和responseXML,分别用来获取字符串和XML形式的响应数据。

重要事件和相关属性

事件触发方面,有一个重要的事件,onreadystatechange事件,这个事件必然要接一个处理函数,提供了两个属性状态符,readystate和status,都是以数字形式来确定状态的。

readystate对应值 含义
0 请求未初始化
1 服务器连接已建立
2 请求已接收
3 请求处理中
4 请求已完成,且响应已就绪

readystate对应的值和相应的含义如上所述,而status的状态其实就是网络访问状态码,像是200对应OK,404对应NOT FOUND等。

很明显当readystate为4且status为200时表示相应已经就绪,对应的获取文件内容的属性标识符已经读到了内容,可以进行处理了。

更进一步

AJAX可以通过PHP文件完成更加动态的访问操作,像是根据文本框输入来直接拉取对应的数据库数据,这比单纯的网页用表单来提交请求再获取响应体验更好。