【AJAX框架】AJAX入门与axios的使用

news/2024/7/11 1:18:22 标签: ajax, 前端, javascript, json, html5, es6, npm

文章目录

  • 前言
  • 一、AJAX是干什么的?
  • 二、AJAX的安装
    • 2.1 CDN引入
    • 2.2 npm安装
  • 三、基础使用
    • 3.1 CDN方式
    • 3.2 node方式
  • 总结


前言

在现代Web开发中,异步JavaScript和XML(AJAX)已经成为不可或缺的技术之一。AJAX使得网页能够在不刷新整个页面的情况下与服务器进行数据交互,为用户提供更加流畅和动态的体验。本文将介绍AJAX的基本概念,并深入探讨如何使用axios这一强大的JavaScript库进行AJAX请求。


一、AJAX是干什么的?

AJAX的核心思想是利用JavaScript在不刷新页面的情况下向服务器发送请求,并在获取到响应后更新页面的部分内容。这种异步的交互方式为用户带来了更好的交互体验,同时减少了对服务器的负载。

二、AJAX的安装

2.1 CDN引入

如果是在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>
</head>
<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>

<body>
    
</body>
</html>

npm_34">2.2 npm安装

我们可以在命令行中输入下面的命令来安装

npm install axios

如果想全局安装

npm install axios --g

三、基础使用

3.1 CDN方式

使用axios的函数:

javascript">axios({
    url:"yourURL"
}).then((result)=>{
    console.log(result.data);
})

参数为一个类,类里面有一个url目标地址
使用.then回调函数接受结果,并作后期处理

<script>javascript">
   axios({
       url:"https://hmajax.itheima.net/api/province"
   }).then((result)=>{
       console.log(result.data.list);
   })
</script>

在这里首先感谢黑马程序员提供的地址

我们可以像上面这样使用来获取,result是一个类,如果里面是json格式
直接使用.去访问就可以了

<script>javascript">
    axios({
        url:"https://hmajax.itheima.net/api/province"
    }).then((result)=>{
        console.log(result.data.list);
    })
</script>

在这里插入图片描述
我们运行就可以看到上面打印的东西了

我们可以把获取到的东西放到页面上

我们可以使用jQuery把他们放到屏幕上:

<!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 = "./jQuery.js"></script>
</head>
<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>

<body>
    <ul>

    </ul>

    <script>javascript">
        axios({
            url:"https://hmajax.itheima.net/api/province"
        }).then((result)=>{
            console.log(result.data.list);
            $.each(result.data.list, function(index,ele)
            {
                var li = $(`<li>${result.data.list[index]}</li>`)
                $('ul').append(li)
            })
        })
    </script>
</body>
</html>

在这里插入图片描述

3.2 node方式

javascript">const axios = require('axios');

axios.get('https://hmajax.itheima.net/api/province')
    .then(response => {
        console.log('Response:', response.data)
    })

使用import axios from 'axios';或者require引入就可以了
在这里插入图片描述
在这里插入图片描述

上面就是我们的CDN和npm的axios的get


总结

AJAX技术的应用使得Web开发变得更加动态和高效。通过异步请求,我们能够在不刷新整个页面的情况下更新数据,为用户提供更加流畅的交互体验。而axios作为一个现代化的AJAX库,为开发者提供了便利的工具,使得数据交互更加简单而强大。在实际项目中,熟练使用AJAX和axios将为开发者带来更好的开发体验和用户体验。


http://www.niftyadmin.cn/n/5335744.html

相关文章

nodejs前端项目的CI/CD实现(二)jenkins的容器化部署

一、背景 docker安装jenkins&#xff0c;可能你会反问&#xff0c;这太简单了&#xff0c;有什么好讲的。 我最近就接手了一个打包项目&#xff0c;它是一个nodejs的前端项目&#xff0c;jenkins已在容器里部署且运行OK。 但是&#xff0c;前端组很追求新技术&#xff0c;不…

专业130+总分380+哈尔滨工程大学810信号与系统考研经验水声电子信息与通信

今年专业课810信号与系统130&#xff0c;总分380顺利考上哈尔滨工程大学&#xff0c;一年的努力终于换来最后的录取&#xff0c;期中复习有得有失&#xff0c;以下总结一下自己的复习经历&#xff0c;希望对大家有帮助&#xff0c;天道酬勤&#xff0c;加油&#xff01;专业课&…

回溯算法篇-01:全排列

力扣46&#xff1a;全排列 题目分析 这道题属于上一篇——“回溯算法解题框架与思路”中的 “元素不重复不可复用” 那一类中的 排列类问题。 我们来回顾一下当时是怎么说的&#xff1a; 排列和组合的区别在于&#xff0c;排列对“顺序”有要求。比如 [1,2] 和 [2,1] 是两个不…

Pytest插件“pytest-selenium” - 让自动化测试更简洁

在现代Web应用的开发中,自动化测试成为确保网站质量的重要手段之一。而Pytest插件 pytest-selenium 则为开发者提供了简单而强大的工具,以便于使用Python进行Web应用的自动化测试。本文将深入介绍 pytest-selenium 插件的基本用法和实际案例,助你轻松进入无忧的Web应用测试之…

64.Spring事件监听的核心机制是什么?

Spring事件监听的核心机制是什么? spring的事件监听有三个部分组成 事件(ApplicationEvent) 负责对应相应监听器 事件源发生某事件是特定事件监听器被触发的原因监听器(ApplicationListener) 对应于观察者模式中的观察者。监听器监听特定事件,并在内部定义了事件发生后的响应…

汽车微电机行业研究:预计2029年将达到188亿美元

微电机行业是技术密集型行业&#xff0c;其起源于欧洲的德国、瑞士等国家&#xff0c;发展于日本。随着改革开放&#xff0c;中国作为发展中国家&#xff0c;承接了德国、日本等发达国家的汽车微电机产业转移&#xff0c;技术扩散逐步向我国转移。 微特电机广泛应用于信息处理设…

[TCP] TCP/IP 基础知识问答

内容更新中 文章目录 TCP什么是TCPTCP 头沾包和拆包 UDP什么是UDPUDP的头UDP可以发送多长的报文TCP 和 UDP 的区别UDP的应用层协议 IP TCP 什么是TCP TCP 头 沾包和拆包 UDP 什么是UDP UDP(User Datagram Protocol)&#xff0c;是无连接的、不可靠的传输层协议。 UDP的…

《项目中疑难问题解决》主题征集

大家好&#xff0c;我是get_local_info开源库作者带剑书生&#xff0c;现在我的《Rust跟我学》专栏文章已全部上线。新的付费专栏&#xff0c;《项目中疑难问题解决》已经在路上了&#xff0c;现征集项目中你遇到的难搞的问题&#xff0c;你的问题交给我来解决。 欢迎反馈您在项…