首页 / 世界杯冠军榜排名

AJAX 总结:ajax请求的几种方法。

2025-06-01 21:58:06世界杯冠军榜排名 4487

首先我们得知道AJAX是干嘛的,为什么要学习它把。

这里我看了一个博客,写的挺好。传送门:看这一篇就够了!-Ajax详解_Oriental_的博客-CSDN博客。

第二个重要的是 你要知道http协议中的请求报文和响应报文,要不学的一脸懵。

请求报文:

请求行,请求头,请求空行,请求体。

借一个博主文章讲一下请求报文。

第一行就是请求行,请求行中含有请求方法,请求URL,还有HTTP协议版本。

下面的圈4全部都是请求头,请求头是关键字/值对的形式。最下面的一行就是请求体,注意GET方法没有请求体 POST方法有请求体。

get请求方法主要用于客户端向服务端请求数据,post方法主要是用于客服端向服务端传输数据

响应报文:

响应行,响应头,响应空行,响应体。

第一行是相应行有报文协议和状态码及状态描述

圈3是响应头,圈4就是我们最想要的响应体数据了。

想要更加了解就去看这个HTTP请求行、请求头、请求体详解_kdsde的专栏-CSDN博客博客吧,他讲的真的超级好。

AJAX基础用法:原生js使用

const btn = document.querySelector("button");

var div = document.querySelector("div");

btn.onclick = function() {

//创建对象

const xhr = new XMLHttpRequest();

//初始化 设置请求方法和url 设置请求参数多个参数用&分开

xhr.open('GET', 'http://127.0.0.1:8000/server?a=100');

//发送

xhr.send();

//事件绑定,onreadystatechange readystate是xhr对象中的属性,表示状态 0初始化 1open方法调用完毕 2send方法调用完毕 3服务端返回的部分结果 4服务端返回的所有结果

xhr.onreadystatechange = function() {

//判断服务端返回了所有的结果

if (xhr.readyState === 4) {

//判断是否响应成功 xhr.status状态码 xhr

if (xhr.status >= 200 && xhr.status < 300) {

//处理结果

//响应行

// console.log(xhr.status); //状态码

// console.log(xhr.statusText); //状态字符串

// console.log(xhr.getAllResponseHeaders()); //所有响应头

// console.log(xhr.response); //响应体

div.innerHTML = xhr.response;

} else {

alert("出错了,请重新尝试");

}

}

};

}

基础用法可以分几步:

1.创建对象

2.初始化,也就是设置你的请求方法还有URL

3.发送请求

4.事件绑定,判断请求是否成功后处理数据

可以通过xhr.setRequestHeader()方法设置自定义的请求头,如果设置的不是预定义的需要再服务端设置:

//设置允许自定义的响应头

app.all('/json-server', (request, response) => {

//设置响应头 设置允许跨域

response.setHeader('Access-Control-Allow-Origin', '*');

//设置允许自定义的响应头

response.setHeader('Access-Control-Allow-Headers', '*');

//响应一个数据

const data = {

name: '1',

age: '18'

}

//转换为string

let str = JSON.stringify(data);

//设置响应体

response.send(data)

});

response.setHeader('Access-Control-Allow-Headers', '*');

然后把app.get改为app.all。

还有一个细节:这边响应数据,需要通过JSON.stringify()方法转换为字符串

jQuery使用AJAX:

a和b都是url 后面的参数

Axios 发送AJAX请求:

相对于上面的方法,我比较喜欢用这个axios库,因为它简洁明了。

使用的时候需要引入:axios/axios: Promise based HTTP client for the browser and node.js (github.com)在这个网站上面可以找到,还有一些使用方法。

fetch函数发送请求: