【UniApp】-uni-app-网络请求

前言
- 经过上个章节的介绍,大家可以了解到 uni-app-pinia存储数据的基本使用方法
- 那本章节来给大家介绍一下 uni-app-网络请求 的基本使用方法
步入正题
- 首先我们打开官方文档,我先带着大家看一下官方文档的介绍:https://uniapp.dcloud.net.cn/api/request/request.html
- 从官方文档中我们可以看到,可以通过
uni.request(OBJECT)来发起网络请求
好,那么废话不多说,我们直接来看一下代码,搭建一个普通模板的项目,自行去搭建,大家都有相关的经验了,我就不多说了。
在首页页面,编写两个按钮分别发送 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:请求方法,有效值:GET,POST,PUT,DELETE,CONNECT,HEAD,OPTIONS,TRACE,UPLOAD,比较常用的是GET和POSTheader:自定义请求头信息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-网络请求的更多相关文章
- 使用 Charles 抓取 App 网络请求
最近开发App的时候需要用到大量其他应用的数据,但接口不公开,所以想到了抓取.差不多要读到5W的用户数据,采用的是找到数据接口,然后不停发请求的方式.用到的抓取工具是Charles,本文讲解的应用是W ...
- Fiddler 抓取 app 网络请求数据
通过设置代理在同一个路由器下可以通过 Fiddler 实现抓取 app 的网络数据 步骤如下: 手机(Android ,iOS 都可以)和 PC 连到同一个路由器 对手机连接的 WIFI 设置代理,代 ...
- uni-app之网络请求
uni-app之网络请求 一,介绍 uni.request(OBJECT),发起网络请求,以下主要是一些特殊的参数说明,详细的可查看uni-app官网. 1,method的有效值必须是大写,默认GET ...
- iOS 10 的坑:新机首次安装 app,请求网络权限“是否允许使用数据”(转)
症状 iOS 10 之后,陆陆续续地有用户联系我们,说新机第一次安装.第一次启动的时候,app 首屏一片空白,完全没数据.kill 掉重新打开就好了. 一开始以为是用户网络情况不好,但随着越来越多的用 ...
- 网络请求报错: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文 ...
- 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 ...
- Swift - 网络请求报App Transport Security has blocked a cleartext错
使用Xcode7编写iOS9应用时,如果获取http://数据时会报如下错误: App Transport Security has blocked a cleartext HTTP (http:// ...
- 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 ...
- App 组件化/模块化之路——如何封装网络请求框架
App 组件化/模块化之路——如何封装网络请求框架 在 App 开发中网络请求是每个开发者必备的开发库,也出现了许多优秀开源的网络请求库.例如 okhttp retrofit android-asyn ...
- iOS应用内抓包、NSURLProtocol 拦截 APP 内的网络请求
前言 开发中遇到需要获取SDK中的数据,由于无法看到代码,所以只能通过监听所有的网络请求数据,截取相应的返回数据,可以通过NSURLProtocol实现,还可用于与H5的交互 一.NSURLProto ...
随机推荐
- 纯干货!一文get昇腾Ascend C编程入门全部知识点
本文分享自华为云社区<昇腾Ascend C编程入门教程>,作者:昇腾CANN . 2023年5月6日,在昇腾AI开发者峰会上,华为正式发布了面向算子开发场景的昇腾Ascend C编程语言. ...
- Poor God Water(ACM-ICPC 2018 焦作赛区网络预赛 矩阵快速幂)
题目描述 God Water likes to eat meat, fish and chocolate very much, but unfortunately, the doctor tells ...
- 在线问诊 Python、FastAPI、Neo4j — 创建 疾病节点
目录 疾病数据 创建节点 根据检查结果.医生的临床经验得出疾病 疾病数据 disease_data.csv 建议值用""引起来.避免中间有,号造成误识别 疾病 "干眼&q ...
- 「ceoi 2009」harbingers
link. 朴素 dp 大约就是 \(f_x=f_y+v_x\times(d_x-d_y)+s_x\),\(y\) 是 \(x\) 的祖先.这个式子可以斜率优化,在以 \(d_y\) 为横坐标,\(f ...
- 「openjudge / poj - 1057」Chessboard
link. 调起来真的呕吐,网上又没篇题解.大概是个不错的题. 首先行和列一定是独立的,所以我们把行列分开考虑.这样的问题就弱化为:在一个长度为 \(n\) 的格子带上,有 \(n\) 个物品,每个物 ...
- PackageManager
/* * Copyright (C) 2006 The Android Open Source Project * * Licensed under the Apache License, Versi ...
- MySQL PXC集群新增一个高版本节点
已有的一个 MySQL PXC 集群环境,因为种种原因仅剩一个节点 node1,需要新增一个集群节点 node2. node1 版本:donor version (8.0.21) node2 版本:l ...
- umicv cv-summary1-全连接神经网络模块化实现
全连接神经网络模块化实现 Linear与Relu单层实现 LossLayer实现 多层神经网络 不同梯度下降方法 Dropout层 今天这篇博文针对Assignment3的全连接网络作业,对前面学习的 ...
- k8s-单节点升级为集群(高可用)
单master节点升级为高可用集群 对于生产环境来说,单节点master风险太大了. 非常有必要做一个高可用的集群,这里的高可用主要是针对控制面板来说的,比如 kube-apiserver.etcd. ...
- 合并果子(lgP1090)
贪心. 每次取最小的两堆合并,最后即为正确答案.(我也不会证明/wq) 所以说主要问题就是怎么找最小的两堆. 由于中间不断有插入和删除,所以用优先队列. 扯不下去了 直接看代码吧. #include& ...