以下请求皆通过鸿蒙SDK,API9.0进行完成,@ohos.net.http’
前言:
数据请求,请求体中的数据格式,在请求头-header中通过Content-Type进行标识,其中包括:
1,application/json:数据以JSON对象的形式进行编码;
2,application/x-www-form-urlencoded:数据以键值对的形式通过&
符号连接,并且空格被替换为加号(+),特殊字符会进行字节编码(URL编码),例如:’ name=skyzizhu&age=25
‘;
3,multipart/form-data:表单表单,用于上传文件或包含二进制数据的一种内容类型。它允许在同一个请求中传输多个数据块,每个数据块可以有不同的内容类型。通常用于文件上传,有固定的上传格式;
一,GET请求: method: http.RequestMethod.GET 1,当header的Content-Type为json时候: header: { 'Content-Type': 'application/json' } 参数传递extraData,为一个json对象: extraData: { 'GET_1': 'VALUE_1', 'GET_2': 'VALUE_2', 'GET_3': 'VALUE_2', }, 2,当header的Content-Type为multipart/form-data时候,实则也是通过form表单内容通过转换,以application/x-www-form-urlencoded拼接的方式进行的请求,所以form-data类型参数传递如下: header: { 'Content-Type': 'multipart/form-data' } extraData: { 'GET_1': 'VALUE_1', 'GET_2': 'VALUE_2', 'GET_3': 'VALUE_2', }, 3,Content-Type为application/x-www-form-urlencoded时候,可通过json类型直接请求,也可以将参数进行拼接,然后进行请求: header: { 'Content-Type': 'application/x-www-form-urlencoded', }, [1]:参数 extraData: { 'GET_1': 'VALUE_1', 'GET_2': 'VALUE_2', 'GET_3': 'VALUE_2', }, [2],可通过系统提供的URL参数转换,进行传参: import url from '@ohos.url'; let urlParams = new url.URLParams({ params_1:'sadasd', params_2:'subParams', }); let stringParams = urlParams.toString(); //最终形态params_1=sadasd¶ms_2=subParams //直接将拼接的字符串传递过去 extraData: stringParams,
二,POST请求: method: http.RequestMethod.POST 1,Content-Type为application/x-www-form-urlencoded,需要将参数拼接成URL传参格式,通过POST模式传递给服务器,例如:params_1=sadasd¶ms_2=subParams header: { 'Content-Type': 'application/x-www-form-urlencoded', }, [1] extraData: 'params_1=sadasd¶ms_2=subParams', 其中当前传递参数的格式可以自己拼接,也可以通过系统提供的方法进行转换,如下: [2] let urlParams = new url.URLParams({ params_1:'sadasd', params_2:'subParams', }); let stringParams = urlParams.toString(); extraData: stringParams,