ajax 第十三节 AJAX-Axios (通用方法) 函数发送AJAX请求 04:36

 

 

<!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">

    <script crossorigin="anonymous" src="https://cdn.bootcdn.net/ajax/libs/axios/0.21.1/axios.js"></script>
    <title>Document</title>
</head>

<body>
    <button>GET</button>
    <button>POST</button>
    <button>AJAX</button>
</body>
<script>
    const btns = document.querySelectorAll('button');
    //设置baseURL
    axios.defaults.baseURL = 'http://127.0.0.1:8000'
    btns[0].onclick = function () {
        //get请求
        axios.get('/axios-server', {
            //usr 参数
            params: {
                id: 100,
                vip: 7
            },
            //请求头信息
            headers: {
                name: 'DX3',
                age: 20
            }
        }).then(response => {
            console.log(response);
        })
    }

    btns[1].onclick = function () {
        //post请求,第一个参数是url,第二个参数是请求体,第三个参数是其它
        axios.post('/axios-server', {
            username: 'admin',
            pwssword: 'admin'
        }, {
            //usr 参数
            params: {
                id: 100,
                vip: 7
            },
            //请求头信息
            headers: {
                height: 'DX3',
                weight: 20
            }
        })
    }

    btns[2].onclick = function () {
        axios({
            method: 'post',
            url: '/axios-server',
            params: {
                vip: 10,
                level: 30
            },
            headers: {
                a: 10,
                b: 20
            },
            data: {
                username: 'admin',
                password: 'admin'
            }
        }).then(response => {
            console.log(response);
            //响应状态码
            console.log(response.status);
            //响应状态字符串
            console.log(response.status.Text);
            //响应头信息
            console.log(response.headers);
            //响应体
            console.log(response.data);
        })
    }

</script>

</html>
 
===========server.js===========
 
//引用 express
const { request, response, json } = require('express');
const express = require('express');

//创建应用对象
const app = express();

//创建路由规则,
// request 是对请求报文的封装
// response 是对响应报文的封装
//app.all 可以接收任意类型的请求头

app.all('/axios-server', (request, response) => {
    //设置响应头,设置充许跨域
    response.setHeader('Access-Control-Allow-Origin', '*');
    response.setHeader('Access-Control-Allow-Headers', '*');
    const data = { name: 'xiaoming', age: '18' };
    //setTimeout(() => {
    response.send(JSON.stringify(data));
    //}, 3000);


})


// 监听端口启动服务
app.listen(8000, () => {
    console.log('服务已经启动,8000端口监听中.......');
})
posted @ 2021-11-08 16:28  金在线  阅读(38)  评论(0编辑  收藏  举报