request发起网络请求三种回调方式和不同的参数详解

1.使用requset发送网络请求

如果需要在程序中发送网络请求需要使用到uni.request,并且在其里面的url地址放入你需要发送网络请求的地址。

免费测试地址:https://jsonplaceholder.typicode.com/posts

使用success.res输出一下数据。创建好了之后调用一下方法。

//标签布局
<view class="layout">
		<view class="row" v-for="item in arrs" :key="item.id">
			<view class="title">{{item.title}}</view>
			<view class="content">{{item.body}}</view>
		</view>
	</view>


//css样式
.layout{
	padding: 30rpx;
	.row{
		border-bottom: 1px solid #cfcfcf;
		padding: 20rpx 0;
		.title{
			font-size: 36rpx;
			margin-bottom: 10rpx;
		}
		.content{
			font-size: 28rpx;
			color: #666;
		}
	}
}

可以看的请求的网络就已经输出了传递的值了。

如果需要将值打印在页面上可以使用数组来进行打印。先根据传递过来的值的属性名来进行取其对应的值。

先创建一个数组来存放传递过来的值。

页面展示的效果就是这个样子。

也可以使用其他的方式比如说:then()方法

或者将res定义成一个函数的模式。

这两中方法的页面效果都是一致的。与第一种方法的显示结果没有区别,但是后面两个方法是比较常用的。

2.通过网络请求传递值

如果需要传递值的话可以在请求网络地址的最后面添加一个?属性名=值。

根据你传递过啦的属性名中的值,来在数组中找到相对应的值。

需要传递多个则是在上一个传递值的后面添加一个&然后像前面的格式一样传递值。也可以使用data的方式传递值。

传递多个值就是在上一个值的后面添加一个逗号然后在传递 "属性名=值"。

3.改变传递的类型

可以使用method来改变我们传递过去的类型,我们默认传递的类型是GET,而我们可以通过method改为POST来传递。

可以看的值传递过去了,但是在页面上并没有显示,是因为post是进行了一个加密从而导致我们的数字并不可以直接的取到相对应的值的。

如果需要传递一个比较隐蔽的数据的话可以使用header来传递。

使用header并在其里面设置一个名字这个名字是没有固定的然后在后面写上我们需要传递的值。

4.加载时的加载图标显示和网络超时

在进入一个页面的时候通常会进行加载页面,如果加载成功或者加载失败都会终结这个加载中,但是如果在成功和失败的里面都添加一个中止加载都会比较麻烦,但是可以在一个通用的complete里面添加中止加载,这样就简洁许多了。

我们加载页面时,有时会出现网络不给力从而导致网络超时,我们可以设置这个网络超时的时间,然后这个超时时会在加载错误的里面输出。

可以看的我们的网络超时的输出就已经出现在了控制台了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值