浅述AJAX

来源:互联网 发布:汽车脚垫 知乎 编辑:程序博客网 时间:2024/05/18 03:30

浅述AJAX

  • AJAX定义和介绍
  • web网页的实现
  • xmlhttprequest的使用
  • 补充

AJAX定义和介绍

AJAX—Asynchronous JavaScript and XML中文意思是异步JavaScript和xml是一种无需重新加载网页的情况天能够更新部分网页的技术。
在最初的web网页(静态网页)进行信息交互的时候与服务器都是同步式、整体刷新的。例如:早期的填写一份表单—简历,它的提交需要多次检查,有很大可能,简历内容填写错误提交检查之后会返回一个新的简历重新填写。早期的这种网页信息交互的方式给了用户极差的体验,用户不得不在每次填写表单时都小心翼翼。
AJAX的出现改变了这种局面,它实现了web和服务器的异步通信,可以和服务器发生局部的数据交流。

web网页的实现

一个现代的web网页的实现主要有三个步骤

1. 页面设计:运用HTML和CSS来实现页面,表达信息。
2. 数据交换:运用XmlHttpRequest和Web服务器之间进行交换数据
3. 异步刷新:运用JS操作DOM,实现异步刷新

HTTP协议

Http超文本传输协议(HTTP,HyperText Transfer Protocol)是计算机通过网络进行通信的规则,它是无状态的,没有记忆的(不持久)

一个完整的Http请求:

  1. 建立TCP连接
  2. web浏览器向web服务器发送请求命令
  3. web浏览器发送请求头信息
  4. web服务器应答
  5. web服务器发送应答信息
  6. web服务器向浏览器
  7. web服务器关闭TCP连接

一个Http请求一般由四部分组成:

1.HTTP的请求方法,比如Get请求和Post请求
2.正在请求的URL地址
3.请求头,包含一些客户端环境信息,身份验证信息等。
4.请求体,也就是请求正文,请求正文中可以包含客户提交的查询字符,表单信息等等。
Get:一般用于信息的获取,使用URL传递参数,是默认的方法,对所发送信息的数量有所限制,一般在2000个字符,一般用作查询
Post:一般用于修改服务器上的资源。对所发送的信息数量无限制

一个http响应一般由三部分组成:

1.一个数字和文字组成的状态码,用来显示请求是成功还是失败
2.响应头,响应头也和请求头一样,包含许多有用的信息,例如服务器类型、日期、时间、内容类型和长度等。
3.响应体,也就是响应正文

响应的状态码

HTTP状态码由三位数字构成,其中首位数字定义了状态码的类型:1XX:信息类,表示收到web浏览器请求,正在进一步的处理中。2XX:成功,表示用户请求被正确接收,理解和处理 如200表示OK3XX:重定向,表示请求没有成功,客户必须采取进一步的动作4XX:客户端错误,表示客户端提交的请求有错误,例如:404 not found,意味着请求中所引用的文档不存在。5XX:服务器错误,表示服务器不能完成对请求的处理 500

XmlHttpRequest的使用

XmlHttpRequest发生请求
XmlHttpRequest对象的两个属性:
open(method,URL,async(请求是同步false/异步true)默认值是true)
send(String)
XmlHttpRequest取得响应
ResponseTest:获取字符串形式的响应数据
ResponseXml:获取xml形式的响应数据
Status和StatusTest:以数字和文本形式返回HTTP状态码
GetAllResonseHeader():获取所有的响应报头
GetResponseHeader():查询响应中的某个字段的值
ReadyState属性
0:请求未初始化,open还没有调用
1:服务器连接已建立,open已经调用了
2:请求已接收,也就是接收到头信息了
3:请求处理中,也就是接收到响应主体了
4:请求已完成,且响应已就绪,也就是响应完成了
Var request=new XmlHttpRequest();
Request.open(“GET”,”get.php”,true);
Request.send();
Request.onreadyStateChange=function(){
if(request.readyState===4&&request.status===200){
//TODO
Request.responseTest
}
}
PHP
1.PHP是一种创建动态交互性站点的服务器端脚本语言 开源 免费 入门简单 应用广泛
2.PHP能够生成动态页面内容
3.PHP能够创建、打开、读取、写入、删除以及关闭服务器上的文件
4.PHP能够接收表单数据
5.PHP能够发送并取回cookies
6.PHP能够增删改数据库中的数据
7.PHP能够兼职用户访问网站中的某些页面 加密解密… 兼容web服务器Tomcat 支持数据库
8.PHP脚本以< ?php开头,以? >结尾
9.PHP文件的默认文件扩展名是.php
10.php语句以分号结尾(;)

JSON
javascript对象表示法(javascript object notation)
json是存储和交换文本信息的语法,类似xml。它采用键值对的方式来组织,易于人们阅读和编写,同时也易于机器解析和生成
Json是独立语言的,也就是说不管什么语言,都可以解析json,只需要按照json的规则来就行
Json和xml比较
1.Json的长度和xml格式比起来很短小
2.Json读写的速度更快
3.Json可以使用JavaScript内建的方法直接进行解析,转换成JavaScript对象,非常方便
4.Json数据的书写格式是:名称/值对
名称/值对组合中的名称写在前面(在双引号中),值对写在后面(同样在双引号中),中间用冒号隔开:比如“name”:“郭靖”
Json的值可以是下面这些类型:
数字(整数或浮点数)
字符串(在双引号中)
逻辑值(true或false)
数组(在[]中)
对象(在花括号中)
Null
{
“staff”:[
{“name”:“qq”,”age”: 17},
{“name”:“qq”,”age”: 17},
{“name”:“qq”,”age”: 17}
]
}
Json的解析
eval和json.Parse
在代码中使用eval是很危险的!特别是用它执行第三方的json数据(其中可能包含恶意代码)时,尽可能使用json.parse()方法解析字符串本身,该方法还可以捕捉json中的语法错误。

用jQuery(js库(框架))实现ajax
jQuery.ajax()

原创粉丝点击