axios 发送 AJAX请求
点击GET请求
点击POST请求
点击 AJAX
- 创建 server.js 文件
//1.引入express const express = require('express'); //2.创建应用对象 const app = express(); //3.创建路由规则 //requset是对请求报文的封装 //response是对相应报文的封装 app.get('/server', (request, response)=>{ // 设置响应头 设置允许跨域 response.setHeader('Access-Control-Allow-Origin','*') //名字,值 // 设置响应体 response.send('HELLO AJAX GET') }); // all可以接受任意类型的请求 app.all('/server', (request, response)=>{ // 设置响应头 设置允许跨域 response.setHeader('Access-Control-Allow-Origin','*') //名字,值 // 响应头 response.setHeader('Access-Control-Allow-Headers','*') //*表示所有类型的头信息都接受 // 设置响应体 response.send('HELLO AJAX POST') }); app.all('/json-server', (request, response)=>{ // 设置响应头 设置允许跨域 response.setHeader('Access-Control-Allow-Origin','*') //名字,值 // 响应头 response.setHeader('Access-Control-Allow-Headers','*') //*表示所有类型的头信息都接受 // 响应一个数据 const data = { name: 'HELLO AJAX JSON2' } //对对象进行字符串转换 let str = JSON.stringify(data) // 设置响应体 response.send(str) }); // 针对 IE 缓存 app.get('/ie', (request, response)=>{ // 设置响应头 设置允许跨域 response.setHeader('Access-Control-Allow-Origin','*') //名字,值 // 设置响应体 response.send('HELLO AJAX IE') }); // 延时响应 app.all('/delay', (request, response)=>{ // 设置响应头 设置允许跨域 response.setHeader('Access-Control-Allow-Origin','*') //名字,值 response.setHeader('Access-Control-Allow-Headers','*') setTimeout(() => { // 设置响应体 response.send('HELLO AJAX 延时响应') },1000) }); // jQuery 服务 app.all('/jquery-server', (request, response)=>{ // 设置响应头 设置允许跨域 response.setHeader('Access-Control-Allow-Origin','*') //名字,值 response.setHeader('Access-Control-Allow-Headers','*') // 设置响应体 const data = {name:'HELLO jQuery JSON AJAX!'} // response.send('HELLO jQuery AJAX!') response.send(JSON.stringify(data)) }); // axios 服务 app.all('/axios-server', (request, response)=>{ // 设置响应头 设置允许跨域 response.setHeader('Access-Control-Allow-Origin','*') //名字,值 response.setHeader('Access-Control-Allow-Headers','*') // 设置响应体 const data = {name:'HELLO axios AJAX!'} // response.send('HELLO jQuery AJAX!') response.send(JSON.stringify(data)) }); //4.监听端口启动服务 app.listen(8000, ()=>{ console.log("服务已经启动,8000 端口监听中..."); })
- 创建 axios.html 文件
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>axios 发送 AJAX请求</title> <script crossorigin="anonymous" src="https://cdn.bootcdn.net/ajax/libs/axios/0.26.0/axios.js"></script> </head> <body> <button>GET</button> <button>POST</button> <button>AJAX</button> <script> const btns = document.querySelectorAll('button') // 配置 baseURL axios.defaults.baseURL = 'http://127.0.0.1:8000' btns[0].onclick = function(){ // GET 请求 axios.get('http://127.0.0.1:8000/axios-server',{ // url 参数 params:{ id: 100, vip: 7 }, // 请求头信息 headers:{ name:'Mike', age:20 } }).then(value => { console.log(value); }) } btns[1].onclick = function(){ axios.post('/axios-server',{ // 请求体 username:'admin', password:'admin', },{ // url params:{ id:200, vip:9 }, // 请求头参数 headers:{ height:100, weight:180, } }) } btns[2].onclick = function(){ axios({ // 请求方法 method:'POST', // url url: 'axios-server', // url参数 params:{ vip:10, level:30 }, // 头信息 headers:{ a:100, b:200 }, // 请求体参数 data:{ username: 'admin', password: 'admin' } }).then(response => { // console.log(response); // 响应状态码 console.log(response.status); // 响应状态字符串 console.log(response.statusText); // 响应头信息 console.log(response.headers); // 响应体 console.log(response.data); }) } </script> </body> </html>
不积跬步无以至千里 不积小流无以成江海