前言

  • 经过上个章节的介绍,大家可以了解到 uni-app-pinia存储数据的基本使用方法
  • 那本章节来给大家介绍一下 uni-app-网络请求 的基本使用方法

步入正题

好,那么废话不多说,我们直接来看一下代码,搭建一个普通模板的项目,自行去搭建,大家都有相关的经验了,我就不多说了。

在首页页面,编写两个按钮分别发送 get 请求和 post 请求,代码如下:

<template>
<view>
<button type="primary" @click="reqGetFn">发送Get请求</button>
<button type="primary" @click="reqPostFn">发送Post请求</button>
</view>
</template> <script setup>
function reqGetFn() {
uni.request({
url: 'https://jsonplaceholder.typicode.com/posts',
data: {
text: 'BNTang'
},
method: "GET",
header: {
// 自定义请求头信息
'custom-header': 'hello'
},
success: (res) => {
console.log(res);
console.log(res.data);
}
});
} function reqPostFn() {
uni.request({
url: 'https://jsonplaceholder.typicode.com/posts',
data: {
text: 'BNTang'
},
method: "POST",
header: {
// 自定义请求头信息
'custom-header': 'hello'
},
success: (res) => {
console.log(res);
console.log(res.data);
}
});
}
</script>
  • 代码中,通过 uni.request(OBJECT) 来发起网络请求,OBJECT 是一个对象,其属性有:
  • url:开发者服务器接口地址
  • data:请求的参数
  • method:请求方法,有效值:GETPOSTPUTDELETECONNECTHEADOPTIONSTRACEUPLOAD,比较常用的是 GETPOST
  • header:自定义请求头信息
  • success:接口调用成功的回调函数
  • fail:接口调用失败的回调函数

好,我们来运行一下,看一下效果:

通过如上的示例,我觉得大家唯一有疑问的可能就是这个请求地址了,这个请求地址是我在网上搜索的一个在线的接口,可以用于测试学习使用:

我这里使用的是 JSON Placeholder:https://jsonplaceholder.typicode.com

封装网络请求

  • 通过如上的示例,我们可以看到,通过 uni.request(OBJECT) 来发起网络请求,是非常简单的,只需要传入相关的参数即可
  • 但是,我们在实际开发中,肯定是需要封装一下的,这样才能更好的使用,那么我们来封装一下

新建一个 tools 文件夹,然后在 tools 文件夹下新建一个 network.js 文件,代码如下:

class ITRequest{
request(url, method, data){
return new Promise((resolve, reject)=>{
uni.request({
url: url,
method: method,
data: data,
timeout: 3000,
success: function(res){
resolve(res.data);
},
fail: function(err){
reject(err);
}
})
})
}
get(url, data){
this.request(url, "GET", data);
},
post(url, data){
this.request(url, "POST", data);
},
} export default new ITRequest();

我封装好了,大家直接用即可非常的简单,因为在之前我也封装过对应原生的与 axios 等等相关的,都是一样的,好了本文就先介绍到这里,下一篇我再来给大家写一个项目(苹果计算器),给这个系列画上一个句号。

End

  • 如果你有任何问题或建议,欢迎在下方留言,我会尽快回复
  • 如果你觉得本文对你有帮助,欢迎点赞、收藏,你的支持是我写作的最大动力

【UniApp】-uni-app-网络请求的更多相关文章

  1. 使用 Charles 抓取 App 网络请求

    最近开发App的时候需要用到大量其他应用的数据,但接口不公开,所以想到了抓取.差不多要读到5W的用户数据,采用的是找到数据接口,然后不停发请求的方式.用到的抓取工具是Charles,本文讲解的应用是W ...

  2. Fiddler 抓取 app 网络请求数据

    通过设置代理在同一个路由器下可以通过 Fiddler 实现抓取 app 的网络数据 步骤如下: 手机(Android ,iOS 都可以)和 PC 连到同一个路由器 对手机连接的 WIFI 设置代理,代 ...

  3. uni-app之网络请求

    uni-app之网络请求 一,介绍 uni.request(OBJECT),发起网络请求,以下主要是一些特殊的参数说明,详细的可查看uni-app官网. 1,method的有效值必须是大写,默认GET ...

  4. iOS 10 的坑:新机首次安装 app,请求网络权限“是否允许使用数据”(转)

    症状 iOS 10 之后,陆陆续续地有用户联系我们,说新机第一次安装.第一次启动的时候,app 首屏一片空白,完全没数据.kill 掉重新打开就好了. 一开始以为是用户网络情况不好,但随着越来越多的用 ...

  5. 网络请求报错:The resource could not be loaded because the App Transport Security policy requires the use of a secure connection.

    iOS9引入了新特性App Transport Security (ATS).详情:App Transport Security (ATS) 如果你想设置不阻止任何网络,只需要在info.plist文 ...

  6. Xcode7 beta 网络请求报错:The resource could not be loaded because the App Transport Security policy requires the use of a secure connection.

    Xcode7 beta 网络请求报错:The resource could not be loaded because the App Transport Xcode7 beta 网络请求报错:The ...

  7. Swift - 网络请求报App Transport Security has blocked a cleartext错

    使用Xcode7编写iOS9应用时,如果获取http://数据时会报如下错误: App Transport Security has blocked a cleartext HTTP (http:// ...

  8. Xcode7 beta 网络请求报错:The resource could not be loaded because the App Transport

    Xcode7 beta 网络请求报错:The resource could not be loaded because the App Transport Xcode7 beta 网络请求报错:The ...

  9. App 组件化/模块化之路——如何封装网络请求框架

    App 组件化/模块化之路——如何封装网络请求框架 在 App 开发中网络请求是每个开发者必备的开发库,也出现了许多优秀开源的网络请求库.例如 okhttp retrofit android-asyn ...

  10. iOS应用内抓包、NSURLProtocol 拦截 APP 内的网络请求

    前言 开发中遇到需要获取SDK中的数据,由于无法看到代码,所以只能通过监听所有的网络请求数据,截取相应的返回数据,可以通过NSURLProtocol实现,还可用于与H5的交互 一.NSURLProto ...

随机推荐

  1. 推荐一个react脚手架工具

    今天介绍一个react脚手架,react-cli, 可以说是 vue-cli 的外表,react的心! 安装步骤: npm install -g sao sao yang302/react-cli n ...

  2. nvm、node、vue安装、vue项目创建打包

    nvm.node.vue安装.创建vue项目 nvm作用:可以管理多个版本的node,切换node版本,下载node. 前情提要 参 考:https://zhuanlan.zhihu.com/p/51 ...

  3. 别再用 float 布局了,flex 才是未来!

    大家好,我是树哥! 前面一篇文章整体介绍了 CSS 的布局知识,其中说到 float 布局是 CSS 不断完善的副产物.而在 2023 年的今天,flex 这种布局方式才是未来!那么今天我们就来学习下 ...

  4. 基本环境安装 jdk,mq,redis,nginx

    JDK:解压安装包,命令为 tar -zxvf jdk-8u381-linux-x64.tar.gz配置环境变量,使用 vim 命令(需要安装vim,安装命令为:yum install vim)修改 ...

  5. 掌握Go类型内嵌:设计模式与架构的新视角

    本文深入探讨了Go语言中的类型内嵌特性,从基础概念到实际应用,以及相关的最佳实践.文章不仅讲解了如何在Go中实现和使用类型内嵌,还通过具体的代码示例展示了其应用场景和潜在陷阱.最后,文章总结了类型内嵌 ...

  6. 铅华洗尽,粉黛不施,人工智能AI基于ProPainter技术去除图片以及视频水印(Python3.10)

    视频以及图片修复技术是一项具有挑战性的AI视觉任务,它涉及在视频或者图片序列中填补缺失或损坏的区域,同时保持空间和时间的连贯性.该技术在视频补全.对象移除.视频恢复等领域有广泛应用.近年来,两种突出的 ...

  7. C#基数排序算法

    前言 基数排序是一种非比较性排序算法,它通过将待排序的数据拆分成多个数字位进行排序. 实现原理 首先找出待排序数组中的最大值,并确定排序的位数. 从最低位(个位)开始,按照个位数的大小进行桶排序,将元 ...

  8. 自然数的拆分问题(lgP2404)

    dfs.又调了一个小时,窝果然菜 需要传递的变量分别为目前搜索的数字:目前所有选中数字的和:目前所选数字个数. 见注释. #include<bits/stdc++.h> using nam ...

  9. 浅析Redis大Key

    一.背景 在京东到家购物车系统中,用户基于门店能够对商品进行加车操作.用户与门店商品使用Redis的Hash类型存储,如下代码块所示.不知细心的你有没有发现,如果单门店加车商品过多,或者门店过多时,此 ...

  10. 在 windows 借助 git 修改文件权限

    起因: 创建新仓库的时候,仓库都没有脚本,然后就需要把运维同事的脚本复制过来,可执行脚本都是在 scripts 文件夹下面的 过了几天,来活了 刚开始还不知道咋回事,想到的文件权限是在linux系统下 ...