请求服务器数据API

一、简介

用来请求服务器数据发起的是HTTPS请求,同时它需要在微信公众平台配置HTTPS服务器域名,一个月可申请三次修改,否则无法使用wx.request请求服务器数据。WebSocket会话,文件上传下载服务器域名都是如此。

二、wx.request(object)

《wx.request(object)参数说明》

字段是否必填数据类型含义
urlstring开发者服务器接口地址。
data请求参数。
header请求头。不能设置refer。content-type的默认值为“application/json”
method默认值为GET。有效值为GET、POST、DELETE、PUT、TRACE、CONNECT、OPTIONS。
dataType默认JSON。如果设置了dataType为.json文件,则会尝试对响应数据组一次JSON.parse;设置其它值,则不对返回的内容进行JSON.parse。
responseType响应的数据类型。text表示的响应数据为文本,arraybuffer表示响应的数据为ArrayBuffer。
successfunction调用成功的回调函数
failfunction调用失败的回调函数
completefunction调用结束的回调函数(成功、失败都会执行)

三、HTTP域名的服务器配置

wx.request无法请求HTTP域名的服务器,访问服务器路径的时候,会到公众开发平台里找他我们配置的HTTP服务器域名,如果域名存在就让访问,否则不让访问。
服务器域名请在“小程序后台”-“开发”-“开发设置”-"服务器域名"中进行配置。配置时应注意以下几点:

  1. 域名只支持https(wx.request、wx.uploadFile、wx.downloadFile)和wss(wx.connectSocket)协议;
  2. 域名不能使用IP地址(小程序局域网IP除外)或localhost;
  3. 可以配置端口;
  4. 域名必须经过ICP备案;
  5. 出于安全考虑,api.weixin.qq.com不能被配置为服务器域名,相关API也不能在小程序中调用。开发者应将APPSeret保存到后台服务器中,通过服务器使用getAccessToken接口来获取access_token,并调用相关的API;
  6. 对于每个接口分别可以配置最多20个域名。
Page({
  onLoad:function () {
    wx.request({
      url: 'https://....',
      data:{projectid:"123"},
      method:"GET",
      success:function (res) {},
      fail:function () {},
      complete:function () {},
    })
  }
});

服务器请求默认超过时间和最大超过时间都是60秒,超过时间可以在app.json文件或game.json文件中通过networktimeout配置。
最终发送给服务器的数据是string类型,如果传入的data不是string类型会被转成string。
发起wx.request请求时也创建了一个requestTask对象,这个对象提供了以下三种方法:

  1. requestTask.abort(),中断请求任务;
  2. requestTask.onHeadersReceived(functioncallback),表示监听HTTP Response Header事件;
  3. requestTask.offHeadersReceived(function callback),表示取消监听HTTP
    Response Header事件。
Page({
  onLoad:function () {
   var requestTask = wx.request({
      url: 'https://....',
      data:{projectid:"123"},
      method:"GET",
      success:function (res) {},
      fail:function () {},
      complete:function () {},
    })
    requestTask.onHeadersReceived(function (res) {
      console.log("监听HTTP Response Header事件")
    })
    requestTask.offHeadersReceived(function (res) {
      console.log("取消监听HTTP Response Header事件")
    })
    requestTask.abort();// 中断请求任务
  }
});

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值