get只能发纯文本
post可以发不同类型的数据,要设置请求头,需要告诉服务器一些额外信息
有一些公共的测试 API 可供学习和测试用途。这些 API 允许你发送 HTTP 请求(GET、POST 等),并从服务器获取响应。以下是一些常用的公共测试 API:
前端页面代码
Title
//原生ajax const xhr = new XMLHttpRequest(); //xhr.open('GET', 'http://wuyou.com/common/get'); xhr.open('GET', 'https://jsonplaceholder.typicode.com/posts/1') xhr.send(); xhr.onreadystatechange = function(){ if(xhr.readyState == XMLHttpRequest.DONE && xhr.status === 200){ console.log(JSON.parse(xhr.responseText)); } }
返回结果
const xhr = new XMLHttpRequest(); xhr.open('POST', 'https://jsonplaceholder.typicode.com/posts'); xhr.setRequestHeader('Content-Type', 'application/json'); // 修改 Content-Type xhr.send(JSON.stringify({ title: 'foo', body: 'bar', userId: 1 })); xhr.onreadystatechange = function() { if (xhr.readyState === XMLHttpRequest.DONE && xhr.status === 201) { console.log(xhr.responseText); // 不解析 JSON,直接输出响应文本 } };
返回结果
前端页面代码
Title
最简单的axios使用方式,get函数中填写请求的url
//用axios来get一个请求 axios.get('https://jsonplaceholder.typicode.com/posts/1') .then(response => { console.log('GET Response:', response.data); }) .catch(error => { console.error('GET Error:', error); });
返回结果
用异步的方式传输,在axios中配置地址,请求/响应拦截器
//异步请求处理 //异步发送get请求 (async () => { try { const ins = axios.create({ baseURL: 'https://jsonplaceholder.typicode.com', }); // 请求拦截器 ins.interceptors.request.use((config) => { console.log('发送了请求'); return config; }); // 响应拦截器 ins.interceptors.response.use( (response) => { // 在这里可以对响应数据进行处理 return response.data; }, (error) => { // 在这里处理响应错误 return Promise.reject(error); } ); const res = await ins.get('/posts/1'); const res2 = await ins.post('/posts', { title: 'foo', body: 'bar', userId: 1, }); console.log('GET 的结果:', res); console.log('POST 的结果:', res2); } catch (error) { console.error('发生错误:', error); } })();
返回结果
前端页面代码
Title
fetch('https://jsonplaceholder.typicode.com/posts/1') .then(res => { if(res.ok){ return res.json() } }) .then(data =>{ console.log(data) } ).catch(error =>{ console.error(error) })
结果:
在参数处需要传入一些配置项
//post在参数的地方需要传入一些配置项 const postData = { title: 'foo', body: 'bar', userId: 1 }; console.log("test") fetch('https://jsonplaceholder.typicode.com/posts', { method: 'POST', headers:{ 'Content-Type': 'application/json' }, body:JSON.stringify({ postData }) } ).then(res =>{ if(res.ok){ return res.json() } }) .then(data =>{ console.log(data) } )
结果