微信小程序> 微信小程序之request请求

微信小程序之request请求

浏览量:601 时间: 来源:Code_星华

微信小程序中提供了一个发起请求的api:wx.request(OBJECT);

官网文档:https://mp.weixin.qq.com/debug/wxadoc/dev/api/network-request.html#wxrequestobject

首先先说必填的参数:

1、url:一个字符串,地址;

可选的参数:

2、data:请求参数,

3、header:请求头设置:

content-type默认值是 'content-type':'application/json',get还好,post时会报错,

于是我就换成了这个:'content-type':'application/x-www-form-urlencoded'

4、method:(需大写)有效值:OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT

5、dataType: 如果设置为json,会尝试对返回的数据做一次JSON.parse,我是在后台处理成json了,默认值就是json

6、responseType: 响应数据的类型,默认text,也可设置为arraybuffer

7、success: 这个是function,成功的回调函数,参数有data(数据),statusCode(HTTP状态码),header

8、fail:失败的回调函数。奈奈的,用ajax的error不好吗?非要自定义。。。

9、complete:接口调用结束的回调函数。

下面这句话就解答了我前边header里设置的content-type的问题了哈:

data 数据说明:

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

  • 对于 GET 方法的数据,会将数据转换成 query string(encodeURIComponent(k)=encodeURIComponent(v)&encodeURIComponent(k)=encodeURIComponent(v)...)
  • 对于 POST 方法且 header['content-type'] 为 application/json 的数据,会对数据进行 JSON 序列化
  • 对于 POST 方法且 header['content-type'] 为 application/x-www-form-urlencoded 的数据,会将数据转换成 query string (encodeURIComponent(k)=encodeURIComponent(v)&encodeURIComponent(k)=encodeURIComponent(v)...)

请求完成后,返回的是一个requestTask对象,通过她可以中断请求任务

const requestTask = wx.request({  url: 'xxx',   data: {     id: '' ,     title: ''  },  header: {      'content-type': 'application/json'  },  method:'GET',  dataTypr:'json',  responseType:'text',  success: function(res) {    console.log(res.data)  },  fail:function(res){  },  complete:funtion(res){}})requestTask.abort() // 取消请求任务

小程序



'content-type':'application/json'

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

产品经理

手机 : 13312967497

擅长 : 小程序流量变现

扫码领取礼包

最新资讯

热门模板

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎