【前端】关于网络请求

网络请求是每个前端都要学会的一部分,所以面试时问道关于此方面的,一般不能出错。

网络请求一般是做什么的

网络请求一般就是用来与后端服务进行数据交互,比如登录验证、商品数据获取、提交商品信息等,一般一个网络请求包含几个部分:

请求地址url:也就是网址

请求头header:一般包含一些协议相关,像浏览器能处理的字符类型,用户代理的字符串等等,还有cookie也在请求头里,也可以加一些自己想要的数据。一般header是一个键值对存在的列表。

一般除了 cookie、Content-Type和一些特殊的设置,别的请求头都不用动。

请求方法method:一般用的比较多的是GET和POST,另外还有PUT、OPTION、DELETE等等,get一般是明文的参数请求,顾名思义就是获取类的接口用的比较多,比如获取商品信息。get的参数是拼接在url后面的,比如https://baidu.com?a=1&b=2&c=3

那么后端拿到的参数就是,a=1,b=2,c=3。

post一般是表单类、提交类、验证类的接口,他的参数是含在请求的Body里的,相对get也隐蔽一点,至少不是明文传输。

put一般用不到,他发送请求的时候,会先发送一次预检,看后端是否接受,如果接受再发送主要的内容,所以put方式一般会发送两次。

option、delete随着技术发展用的就更少了,感兴趣可以自己查一下。

uniapp里的请求

let host = 'http://www.suntest.com'
uni.request({
	url: host + '/getOrder',
	method: 'GET',
	header:{
		token : uni.getStorageSync("TOKEN")
	},
	data: {
		phone : this.phone
	},
	success: res => {
		console.log(res);
	},
	fail: () => {},
});

以上是一个uniapp使用uni.request的标准模板。

一般我们将host也就是基础的域名保存在一处,因为通常一个项目里的接口根域名都是一样的。

不一样的就是后面后缀的地方,比如上面的getOrder。

header里就可以加些自己想加的东西,比如上面的Token

data也是以键值对的形式传入的,不管get还是post,都可以放在data里,get会自己拼接url。

success和fail都是回调,如果请求成功取到了数据,会在res那个参数里(也可以不叫res),拿到res,就可以进行后面的操作了。

猜你喜欢

转载自blog.csdn.net/FishWooden/article/details/129028566