我是靠谱客的博主 鲜艳洋葱,最近开发中收集的这篇文章主要介绍jQuery高级用法和axios5. jQuery高级用法6. axios,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

目录

 

5. jQuery高级用法

5.1 jQuery实现文件上传

1. 定义UI结构

2. 验证是否选择了文件

3. 向FormData中追加文件

4. 使用jQuery发起上传文件的请求

5.2 jQuery实现loading效果

1. ajaxStart(callback)

2. ajaxStop(callback)

6. axios

6.1 什么是axios

6.2 axios发起GET请求 

6.3 axios发起POST请求

6.4 直接使用axios发起请求

1. 直接使用axios发起GET请求

2. 直接使用axios发起POST请求


 

5. jQuery高级用法

5.1 jQuery实现文件上传

1. 定义UI结构

   
    <!-- 导入 jQuery -->
    <script src="./lib/jquery.js"></script>

    <!-- 文件选择框 -->
    <input type="file" id="file1" />
    <!-- 上传文件按钮 -->
    <button id="btnUpload">上传</button>

2. 验证是否选择了文件

 $('#btnUpload').on('click', function() {
     // 1. 将 jQuery 对象转化为 DOM 对象,并获取选中的文件列表
     var files = $('#file1')[0].files
     // 2. 判断是否选择了文件
     if (files.length <= 0) {
         return alert('请选择图片后再上传!')
     }
 })

3. 向FormData中追加文件

 // 向 FormData 中追加文件
 var fd = new FormData()
 fd.append('avatar', files[0])

4. 使用jQuery发起上传文件的请求

 $.ajax({
     method: 'POST',
     url: 'http://www.liulongbin.top:3006/api/upload/avatar',
     data: fd,
     // 不修改 Content-Type 属性,使用 FormData 默认的 Content-Type 值
     contentType: false,
     // 不对 FormData 中的数据进行 url 编码,而是将 FormData 数据原样发送到服务器
     processData: false,
     success: function(res) {
         console.log(res)
     }
 })

5.2 jQuery实现loading效果

1. ajaxStart(callback)

Ajax 请求开始时,执行 ajaxStart 函数。可以在 ajaxStart 的 callback 中显示 loading 效果,示例代码如下:

 // 自 jQuery 版本 1.8 起,该方法只能被附加到文档
 $(document).ajaxStart(function() {
     $('#loading').show()
 })

注意: $(document).ajaxStart() 函数会监听当前文档内所有的 Ajax 请求

2. ajaxStop(callback)

Ajax 请求结束时,执行 ajaxStop 函数。可以在 ajaxStop 的 callback 中隐藏 loading 效果,示例代码如下:

 // 自 jQuery 版本 1.8 起,该方法只能被附加到文档
 $(document).ajaxStop(function() {
     $('#loading').hide()
 })

6. axios

6.1 什么是axios

  • Axios 是专注于网络数据请求的库。
  • 相比于原生的 XMLHttpRequest 对象,axios 简单易用。
  • 相比于 jQuery,axios 更加轻量化,只专注于网络数据请求。

6.2 axios发起GET请求 

axios 发起 get 请求的语法:

axios.get('url', { params: { /*参数*/ } }).then(callback)

具体的请求示例如下:

 // 请求的 URL 地址
 var url = 'http://www.liulongbin.top:3006/api/get'
 // 请求的参数对象
 var paramsObj = { name: 'zs', age: 20 }
 // 调用 axios.get() 发起 GET 请求
 axios.get(url, { params: paramsObj }).then(function(res) {
     // res.data 是服务器返回的数据
     var result = res.data
     console.log(res)
 })

6.3 axios发起POST请求

axios 发起 post 请求的语法:

axios.post('url', { /*参数*/ }).then(callback)

具体的请求示例如下:

 // 请求的 URL 地址
 var url = 'http://www.liulongbin.top:3006/api/post'
 // 要提交到服务器的数据
 var dataObj = { location: '北京', address: '顺义' }
 // 调用 axios.post() 发起 POST 请求
 axios.post(url, dataObj).then(function(res) {
     // res.data 是服务器返回的数据
     var result = res.data
     console.log(result)
 })

6.4 直接使用axios发起请求

axios 也提供了类似于 jQuery 中 $.ajax() 的函数,语法如下:

 axios({
     method: '请求类型',
     url: '请求的URL地址',
     data: { /* POST数据 */ },
     params: { /* GET参数 */ }
 }) .then(callback)

1. 直接使用axios发起GET请求

 axios({
     method: 'GET',
     url: 'http://www.liulongbin.top:3006/api/get',
     params: { // GET 参数要通过 params 属性提供
         name: 'zs',
         age: 20
     }
 }).then(function(res) {
     console.log(res.data)
 })

2. 直接使用axios发起POST请求

 axios({
     method: 'POST',
     url: 'http://www.liulongbin.top:3006/api/post',
     data: { // POST 数据要通过 data 属性提供
         bookname: '程序员的自我修养',
         price: 666
     }
 }).then(function(res) {
     console.log(res.data)
 })

 

 

最后

以上就是鲜艳洋葱为你收集整理的jQuery高级用法和axios5. jQuery高级用法6. axios的全部内容,希望文章能够帮你解决jQuery高级用法和axios5. jQuery高级用法6. axios所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(31)

评论列表共有 0 条评论

立即
投稿
返回
顶部