客户端和服务器进行通信主要是请求-处理-响应过程,这里整理一下三钟用户发起请求的三种方式
一.XMLHttpRequest发起
XMLHttpRequest浏览器提供的javascript对象,可以请求服务器上的数据资源
发起get请求
步骤1:创建xhr对象
var xhr = new XMLHttpRequest();
步骤2:调用xhr.open()建立一个 HTTP 请求
xhr.open('GET', 'url');
open()里面的参数:
第一个参数为调用方式,这里因为是讲解的get请求,所以填写get
第二个参数为url地址,填写自己的请求地址。
步骤3:调用xhr.send()方法
xhr.send();
步骤4:监听xhr.onreadystatechange事件
xhr.onreadystatechange = function() {
if (xhr.readyState === 4 && xhr.status === 200) {
console.log(xhr.responseText);
}
}
status服务器响应状态
readyState表示当前ajax请求所处状态
带参问题:
如果get请求需要带参,则在open方法的url后面跟上查询字符串带参 xhr.open('GET', 'http:自己的地址?id=1&bookname=西游记');
发起post请求
步骤1:创建xhr对象
var xhr = new XMLHttpRequest();
步骤2:调用xhr.open()建立一个 HTTP 请求
xhr.open('POST', 'http://自己的请求地址');
open()里面的参数:
第一个参数为调用方式,这里因为是讲解的post请求,所以填写post
第二个参数为url地址,填写自己的请求地址。
步骤3:设置Content-Type属性
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'