原生ajax发起post请求,原生Ajax发送get、post请求每一步

说明

发送Ajax的请求的核心对象是XMLHttpRequest,因此我们需要了解该对象的相关属性和方法

方法(图一)

原生ajax发起post请求,原生Ajax发送get、post请求每一步_第1张图片

属性(图二)

原生ajax发起post请求,原生Ajax发送get、post请求每一步_第2张图片

第一步:创建 XMLHttpRequest对象,下面都简写为 xhr对象

由于XMLHttpRequest不兼容IE6及以下的浏览器,因此在IE6及以下的浏览器不能使用XMLHttpRequest创建 xhr对象,使用ActiveXObject('Microsoft.XMLHTTP')代替。但是我写好之后测试了一波,IE5好像支持 XMLHttpRequest对象,IE6没测,因此技术不断更新,现在看到的不一定是对的。还需要自己动手测试以下。

var xhr = null

if (window.XMLHttpRequest){//如果浏览器存在这个对象 则以这种方式创建

xhr = new XMLHttpRequest()

} else{//否则 以下面这种方式

xhr = new ActiveXObject('Microsoft.XMLHTTP')

}

//或者使用 try catch 这里与上面的 if 语句 效果等同

try{

xhr = new XMLHttpRequest()

}catch(e){

xhr = new ActiveXObject('Microsoft.XMLHTTP')

}

第二步:准备发送,调用open方法

xhr.open(type, url, boolean),该方法具有三个参数。

type:请求的方式,可以是以下这些值: GET、POST、DELETE、OPTIONS、HEAD、PUT、TRACE、CONNECT,用的最多的是 GET、POST请求。

url: 请求路径和参数。路径和参数以?为分割线例如 : http://localhost:3000?uname="车神-黄杰&age=23"

boolean:操作方式,true(默认值) --->异步发送请求 false ---> 同步发送请求。

第三步:发送,调用send方法

xhr.send()

GET请求:最好传入null,有些浏览器约定好了,在发送GET请求时不传入null会报错。

POST请求:传入向服务器发送的数据。

向服务器发送数据

GET请求

此时数据由open方法传入,数据拼接在第二个参数请求路径的后面 以?为分隔符。

在IE浏览器中&

你可能感兴趣的:(原生ajax发起post请求)