请求服务器数据API-CSDN博客

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

一、简介

用来请求服务器数据发起的是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();// 中断请求任务
  }
});

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: 服务器