Ajax和axios简单用法

Ajax

Ajax(Asynchronous JavaScript And XML,异步的JavaScript和XML)。

作用是:

  • 数据交换:通过Ajax可以给服务器发送请求,并获取服务器响应的数据。
  • 异步交互:可以在不重新加载整个页面的情况下,与服务器交换并更新部分网页的技术,如:搜索联想、用户名是否可用的校验等等。
html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>

</head>
<body>
    <input type="button" value="获取数据" onclick="getClick()">
</body>
<script>
    function getClick() {
        // 创建一个XMLHttpRequest对象
        let XmlHttpRequest = new XMLHttpRequest();
        
        // 设置请求方式和请求地址
        XmlHttpRequest.open('GET', 'http://yapi.smart-xwork.cn/mock/169327/emp/list');
        XmlHttpRequest.send(); // 发送请求

        // 监听请求状态
        XmlHttpRequest.onreadystatechange = function() {
            if (XmlHttpRequest.readyState === 4 && XmlHttpRequest.status === 200) {
                // console.log(XmlHttpRequest.responseText);
                let data = JSON.parse(XmlHttpRequest.responseText);
                console.log(data);
            }
        }
    }
</script>
</html>

Axios

Axios对原生的Ajax进行了封装,简化书写,快速开发。

需要引入Axios的JS文件 ,使用Axios发送请求,并获取响应结果。

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
</head>
<body>
    <script>
        axios({
            method: 'get',
            url: 'http://localhost:3000/lab'
        }).then((response) => {
            console.log(response.data)
        });
        axios({
            method: 'post',
            url: 'http://localhost:3000/lab',
            data: {
                name: 'Lab 1',
                description: 'Lab 1 description'
            }
        }).then((response) => {
            console.log(response.data)
        });
    </script>
</body>
</html>

请求方式别名:

html 复制代码
axios.get(url [,config])
axios.delete(url [,config])
axios.post(url [,data [,config]])
axios.put(url [,data [,config]])

AJAX - XMLHttpRequest 对象 (w3school.com.cn)

Axios中文文档 | Axios中文网 (axios-http.cn)

相关推荐
肉肉不吃 肉10 分钟前
Vue Router 路由模式
前端·javascript·vue.js
北寻北爱10 分钟前
Vue-Router
前端·javascript·vue.js
肉肉不吃 肉16 分钟前
什么是闭包
前端·javascript
窝子面20 分钟前
十六、按钮组件
前端
天天向上102421 分钟前
vue 页面内实现el-table和div自动滚动
前端·javascript·vue.js
前端老石人28 分钟前
HTML文档元素与元数据详解
前端·html
wing9832 分钟前
用 AI 实现图片懒加载,这也太简单了!
前端·vue.js·图片资源
sigernet1 小时前
Claude Code 不再推荐 npm 安装:官方改为 Native Installer
前端·npm·node.js
lxh01131 小时前
函数防抖题解
前端·javascript·算法
我发现一个问题1 小时前
node+ts+koa全栈框架学习-1
前端