uni-app发送GET和POST请求方式
<p>基于上一篇文章对AJAX概念的描述,那么目前流行的uni-app到底是怎么发请求的呢,我会把格式写在下面</p><table style="height: 428px; width: 917px" border="0">
<tbody>
<tr>
<td><strong>使用uni.request()发起GET请求:</strong></td>
<td><strong>使用uni.request()发起POST请求</strong></td>
</tr>
<tr>
<td>
<p>let url = "url地址"</p>
<p>url.request( { url } ).then( result =>{ result.data 就是响应主体 }).catch( err=>{ } )</p>
</td>
<td>
<p>let url = ""</p>
<p>uni.request( { url,</p>
<p>method: 'POST',</p>
<p>header: {'Content-Type':'application/x-www-form-urlencoded},</p>
<p>data: {k:v, k:v} } )</p>
<p>.then(result=>{ result.data就是响应主体 })</p>
.catch(err=>{ })</td>
</tr>
<tr>
<td>
<p>let url = "url地址"</p>
<p>let result = await uni.request( { url } )</p>
<p>result.data 就是响应主体</p>
</td>
<td>
<p>let url = ""</p>
<p>let result = await uni.request( { url,</p>
<p>method: 'POST',</p>
<p>header: {'Content-Type':'application/x-www-form-urlencoded},</p>
<p>data: {k:v, k:v} } )</p>
result.data就是响应主体</td>
</tr>
</tbody>
</table>
<br>
<table style="height: 116px; width: 933px" border="0">
<tbody>
<tr>
<td>
<p>ES6提供的Promise简化操作语法糖:</p>
<p>await:等待,用于等待一个表达式/函数的调用执行完成,再返回其执行结果</p>
async:异步,await所在的方法必须声明为“异步的”;async修饰的方法返回值会用Promise封装</td>
</tr>
</tbody>
</table>
<p> </p>
<table style="height: 224px; width: 941px" border="0">
<tbody>
<tr>
<td>
<p>根据HTTP协议规定,响应消息头部中,应该有一个头部指定响应主体内容类型(<strong>有很多种</strong>):</p>
Content-Type: text/html、image/jpeg、application/json、audio/mpeg3、…..</td>
</tr>
<tr>
<td>
<p>根据HTTP协议规定,请求消息头部中,应该有一个头部指定请求主体内容类型(<strong>只有4种</strong>):</p>
<p> Content-Type: text/plain 请求主体是未经编码的普通文本(一般的WEB服务器都拒收)</p>
<p> Content-Type: application/x-www-form-urlencoded 请求主体是编码后的数据</p>
<p> Content-Type: multipart/form-data 请求主体包含普通文本字段已经文件上传等多字段</p>
Content-Type: application/json 请求主体是JSON字符串</td>
</tr>
</tbody>
</table>
<p> </p>
<p>项目中需要对服务器端接口以及接口的异步请求进行“二次封装”:</p>
<p><img src="https://img2022.cnblogs.com/blog/1898566/202210/1898566-20221013180511148-334303757.png"></p>
<p><strong>二次封装的目标——提高代码的可维护性:</strong></p>
<p>① 集中管理所有的接口地址:域名、端口、访问协议</p>
<p>② 集中管理客户端异步请求技术,例如:uni.request、fetch、axios….</p>
<p>③ 集中管理项目中的“横切功能点”例如:加载中提示、请求耗时统计、执行前身份认证、执行后的日志记录….</p>
<p> </p><br><br>
来源:https://www.cnblogs.com/ztyzcyp3581711/p/16789192.html
頁:
[1]