ajax

1 .XMLHttpRequest是ajax的官方的名称。一个ajax应用程序就是创建一个ajax对象,对象调用其方法和属性的一个过程

  1. 创建ajax对象
    var xhr=new XML HttpRequest() 重点掌握
低版本浏览器 (IE6.7.8)
var  xhr=ActiveXObject('Microsoft.XMLHTTP'

更低版本IE浏览器(IE5,IE4)

var xhr=ActiveXObject('Msxml2.XMLHTTP')

var xhr=ActiveXObject('Msxml3.XMLHTTP')
  1. ajax常用的方法和属性

常用方法:

open(method,url,[async]):建立一个http连接

method:请求的方法,get/post

url:请求的url地址

async:是否异步请求,默认为true为异步,false同步

send(content):发送一个http请求

content: 发送请求的数据,如果是get请求content直接写null,如果是post请求需要拼接请求字符串,形如:name=xiaokeai&age=18

setRequestHeader(header,value) :设置请求头

header:请求头名称

value:请求头的值

abort:终止一个ajax请求

常用属性:

readyState:ajax请求的状态,有五个值0,1,2,3,4

0:初始化对象还没有调用open()方法

1: 已经调用了open()方法 .还没有调用send()方法

2:已经调用了send()方法

3.已经开始接受服务器返回来的数据,但是不完整.

4:完全接收服务器返回来的数据,请求完毕

onreadystatechange :可以监听ajax状态的一个改变 只能监听1,2,3,4状态,因为状态0没有一个相对变化的过程.

status :http响应状态码 200:ok 404:not found 304 :not modified ,5XX(一般都是服务器相关的错误)

responseText :接收服务器返回来的字符串数据.(html.css,js). php echo 'fasfd';

responseXML :接收服务器返回来的xml数据. php: echo $xml;

  1. 总结ajax请求(五步骤)

①创建ajax对象 var xhr=new XMLHttpRequest()

②建立一个http连接 xhr.open('get',url,true);

③发送一个http请求 xhr.send(null);

④给ajax状态绑定一个回调函数 xhr.onreadystatechange=function(){};

⑤判断ajax的状态是否等于4,就做相应的业务逻辑 xhr.readyState==4 接收字符串xhr.responseText

  1. get和post请求的区别

①给服务器传递的数据量不同

get方式的大小是受限于浏览器,大部分浏览器是2k左右的限制

每个浏览器的限制不一样 chrome就是8K

1k=1024byte 2k=2048by

http://网址/index.php?name=tom

上述请求通过get方式传递了9个字节的信息

post原则没有限制,php.ini对其限制为8M

②安全方面

post传递数据较安全

③传递数据的形式不一样

get方式在url地址后边以请求字符串形式传递参数

http://网址/index.php?name=tom&age=23&addr=beijing

蓝色部分就是请求字符串,就是一些"名-值"对,中间使用&符号连接。

post方式是模拟form表单把数据给传递给服务器

  1. post请求总结(六步走):

①,创建一个ajax对象

②.建立一个http连接

③设置请求头 xhr.setRequestHeader("Content-type",'application/x-www-form-urlencoded');

④发送http请求

⑤给ajax状态的改变设置回调函数

⑥判断ajax状态是否等于4,然后组相应的业务逻辑处理

onreadystatechange可以监听ajax状态4个:

你可能感兴趣的:(ajax)