Ajax请求——XMLHttpRequest对象

阿贾克斯

HTTP简介

HTTP:是一种无状态协议,不建立持久的连接,服务端不保留连接的相关信息

HTTP请求过程:

1.建立TCP连接
引擎WEB浏览器向网页服务器发送请求命令
3.web浏览器请求头信息
4.WEB服务器应答
5.Web服务器应答头信息
6.web服务器向浏览器发送数据
7.web服务器关闭Tcp连接

http有四个部分组成:
1.http请求的动作或方法,比如是得还是post请求
2.正在请求的url,也就是请求的地址
3.请求头,包含一些客户端环境信息,身份验证信息等
4.请求体,也就是请求正文,请求正文中可以包含客户提交的查询字符串信息,表单信息等等

获取请求:

常用于向服务器查询某些信息,必要时可以将要查询的字符串参数追加到URL的末尾,以便将信息发送给服务器。

一般在2000个字符。

对XHR而言,位于传入的open()方法的网址末尾的查询字符串必须经过正确的编码才行。

使用GET请求经常发生查询字符串的格式问题。

查询字符串中的每个参数的名称和值都必须使用encodeURIComponnt()进行编码,然后才能放到URL末尾,每个参数之间都必须由与分隔

(幂等:查询一次和查询万次对于查询结果没有影响)

POST请求:

一般用于修改服务器上的资源,对所发送的信息的数量无限制

服务器对待后请求和网页表单的请求并不会一视同仁,因此服务器端必须有程序来读​​取发送过来的原始数据,并从中解析出有用的部分不过我们可以使用XHR来模仿表单提交:

首先将内容类型头部信息设置为应用程序/ x-WWW窗体-urlencoded,其次是以适当的格式创建一个字符串。如果需要将页面中表单的数据序列化,然后再通过XHR发送到服务器,那么可以使用的serialize()函数来创建这个字符串。

var form = document.getElementById(“user-info”);

xhr.send(序列(形式));

一个HTTP响应:

1.一个数字和文字组成的状态码,用来显示请求是成功还是失败

2.响应头,响应头也和请求头一样包含许多有用的信息,例如服务器类型,日期时间,内容类型和长度等

3.响应体,也就是响应正文

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

的XMLHttpRequest发送请求
开放(方法,URL,异步):
发送请求方法,请求的地址,请求是同步还是异步(默认为true)
request.setRequestHeader(“Content-type”:“application / x-www-form-urlencoded”):设置发送请求头信息
send(string):使用get请求时可以填写null或者不填写,但是使用后就要填写参数

的XMLHTTPRequest取得响应
requestText:获得字符串形式的响应数据
requestXML :获得XML形式的响应数据
状态和状态文本:以数字和文本形式返回HTTP状态码
getAllResponseHeader():获取所有的响应报头
getResponseHeader():查询响应中的某个字段的值

readyState属性:
0:请求未初始化,打开还没有被调研
1:服务器连接已建立,打开已经调用了
2:请求已接收,也就是接收到头信息了
3:请求处理中,也就是接收到响应主体了
4:请求已完成,且响应已就绪,也就是响应完成了

监听readyState属性的变化就可以知道服务器响应有没有成功有没有完成
request.onreadystatechange = function(){
if(request.readyState === 4 && request。 status === 200){
request.responseText
}
}

Ajax例子:
1。查询员工信息,可以通过输入员工编号查询员工基本信息;
2.新建员工信息,包含员工姓名,编号,性别,职位

纯html页面,用来实现员工查询和新建的页面;
PHP页面,用来实现查询员工和新建员工的后台接口
什么是PHP?
PHP是一种创建动态交互性站点的服务端
脚本语言PHP能够生成动态页面内容
PHP能够创建,打开,读取,写入,删除以及关闭服务器上的文件
PHP能够 接收表单数据
PHP能够发送并取回cookie
PHP能够添加删除修改数据库的数据
PHP能够限制用户访问某些网站的某些页面
....
php脚本<?XXX?>
HTML,js主要用于页面的呈现和特效,即客户端语言

服务器端语言:PHP,JAVA,.NET等等

猜你喜欢

转载自blog.csdn.net/milan_kunderla/article/details/80948724