探讨uniapp的网络通信问题

news/2025/1/15 16:02:46/

uni-app 中有很多原生的 API,其中我们经常会用到的肯定有:uni.request(OBJECT)

在这里插入图片描述
在这里插入图片描述
method 有效值

注意:method有效值必须大写,每个平台支持的method有效值不同,详细见下表。
在这里插入图片描述
success 返回参数说明
在这里插入图片描述

data 数据说明

最终发送给服务器的数据是 String 类型,如果传入的 data 不是 String 类型,会被转换成 String。转换规则如下:

  • 对于 GET 方法,会将数据转换为 query string。例如 { name: ‘name’, age: 18 } 转换后的结果是
    name=name&age=18。
  • 对于 POST 方法且 header[‘content-type’] 为 application/json 的数据,会进行 JSON序列化。
  • 对于 POST 方法且 header[‘content-type’] 为application/x-www-form-urlencoded 的数据,会将数据转换为 query string。
	uni.request({url: 'https://api.uomg.com/api/rand.qinghua', //仅为示例,并非真实接口地址。data: {text: 'uni.request'},success: (res) => {console.log(res.data);}});

在这里插入图片描述

返回值
如果希望返回一个 requestTask 对象,需要至少传入 success / fail / complete 参数中的一个。例如:

	click() {let res = uni.request({url: 'https://api.uomg.com/api/rand.qinghua', //仅为示例,并非真实接口地址。data: {text: 'uni.request'},success(res) {}});console.log(res);}

通过 requestTask,可中断请求任务。
在这里插入图片描述

const requestTask = uni.request({url: 'https://www.example.com/request', //仅为示例,并非真实接口地址。data: {name: 'name',age: 18},success: function(res) {console.log(res.data);}
});// 中断请求任务
requestTask.abort();

如果没有传入 success / fail / complete 参数,则会返回封装后的 Promise 对象:Promise 封装

	click() {let res = uni.request({url: 'https://api.uomg.com/api/rand.qinghua', //仅为示例,并非真实接口地址。data: {text: 'uni.request'}});console.log(res);}

Tips

  • 请求的 header 中 content-type 默认为 application/json。
  • 避免在 header 中使用中文,或者使用 encodeURIComponent 进行编码,否则在百度小程序报错。
  • 网络请求的 超时时间 可以统一在 manifest.json 中配置 networkTimeout。
    在这里插入图片描述
  • H5 端本地调试需注意跨域问题,参考:调试跨域问题解决方案【自带的浏览器】

在这里插入图片描述


http://www.ppmy.cn/news/1032115.html

相关文章

【MySQL常见面试题】

索引的基本原理 索引⽤来快速地寻找那些具有特定值的记录。如果没有索引,⼀般来说执⾏查询时遍历整张表。 索引的原理:就是把⽆序的数据变成有序的查询 把创建了索引的列的内容进⾏排序 对排序结果⽣成倒排表 在倒排表内容上拼上数据地址链 在查询的…

分类预测 | Matlab实现基于MIC-BP最大互信息系数数据特征选择算法结合BP神经网络的数据分类预测

分类预测 | Matlab实现基于MIC-BP最大互信息系数数据特征选择算法结合BP神经网络的数据分类预测 目录 分类预测 | Matlab实现基于MIC-BP最大互信息系数数据特征选择算法结合BP神经网络的数据分类预测效果一览基本介绍研究内容程序设计参考资料 效果一览 基本介绍 Matlab实现基于…

【数据库】Sql Server可视化工具SSMS条件和SQL窗格以及版本信息

2023年,第34周,第1篇文章。给自己一个目标,然后坚持总会有收货,不信你试试! SQL SERVER 官方本身就有数据库可视化管理工具SSMS,所以大部分都会使用SSMS。以前版本是直接捆绑, 安装完成就自带有…

配置listener tcps加密 enable SSL encryption for Oracle SQL*Net

一 配置客户端和服务端的wallet 2端配置方法一致,相互添加证书 orapki wallet create -wallet “/u01/oracle/wallet” -pwd Wdkf984jkkgekj434FKFD -auto_login_local orapki wallet add -wallet “/u01/oracle/wallet” -pwd Wdkf984jkkgekj434FKFD -dn “CNho…

Android布局【RelativeLayout】

文章目录 介绍常见属性根据父容器定位根据兄弟组件定位 通用属性margin 设置组件与父容器的边距padding 设置组件内部元素的边距 项目结构主要代码 介绍 RelativeLayout是一个相对布局,如果不指定对齐位置,都是默认相对于父容器的左上角的开始布局 常见…

std::vector<size_t> index(cloud2->size()); 里面的索引的顺序是随机的吗 CSDN GPT

################################################################################### 1 std::for_each(index.begin(), index.end(), [idx 0](size_t& i) mutable { i idx; }); 中文回答 std::for_each(index.begin(), index.end(), [idx 0](size_t& i) muta…

centos搭建k8s

centos搭建k8s环境_centos k8s_进击的Coders的博客-CSDN博客

JVM 中的编译器

在Java的世界里,JVM(Java Virtual Machine)扮演了重要的角色。JVM是一个虚拟机,是Java程序的运行环境,它能够将Java字节码文件解释执行,使得Java程序可以跨平台。在JVM内部,有一个重要的组件就是编译器,它的作用就是将Java源代码编译成字节码,让JVM可以识别并执行。 …