codecamp

支付宝小程序API 网络

支付宝小程序API 网络

my.httpRequest

向指定服务器发起一个跨域 http 请求。

入参

名称 类型 必填 描述
url String 目标服务器url
headers Object 设置请求的 HTTP 头,默认 {'Content-Type': 'application/x-www-form-urlencoded'}
method String 默认GET,目前支持GET,POST
data String 请求参数
timeout Number 超时时间,单位ms,默认30000
dataType String 期望返回的数据格式,默认json,支持json,text,base64
success Function 调用成功的回调函数
fail Function 调用失败的回调函数
complete Function 调用结束的回调函数(调用成功、失败都会执行)

success 返回值

名称 类型 描述
data String 响应数据,格式取决于请求时的 dataType 参数
status Number 响应码
headers Object 响应头

错误码

error 描述
11 无权跨域
12 网络出错
13 超时
14 解码失败
19 HTTP错误

代码示例

my.httpRequest({
  url: 'http://httpbin.org/post',
  method: 'POST',
  data: {
    from: '支付宝',
    production: 'AlipayJSAPI',
  },
  dataType: 'json',
  success: function(res) {
    my.alert({content: 'success'});
  },
  fail: function(res) {
    my.alert({content: 'fail'});
  },
  complete: function(res) {
    my.hideLoading();
    my.alert({content: 'complete'});
  }
});

注意:如果 httpRequest 调用返回「无权调用该接口」时,则需要在开放平台的 httpRequest 中添加你需要访问的域名地址

my.uploadFile

上传本地资源到开发者服务器。

入参

名称 类型 必填 描述
url String 开发者服务器地址
filePath String 要上传文件资源的本地定位符
fileName String 文件名,即对应的 key, 开发者在服务器端通过这个 key 可以获取到文件二进制内容
fileType String 文件类型,image/video
header Object HTTP 请求 Header
formData Object HTTP 请求中其他额外的 form 数据
success Function 调用成功的回调函数
fail Function 调用失败的回调函数
complete Function 调用结束的回调函数(调用成功、失败都会执行)

success 返回值

名称 类型 描述
data String 服务器返回的数据
statusCode String HTTP 状态码
header Object 服务器返回的 header

错误码

error 描述
11 文件不存在
12 上传文件失败
13 没有权限

代码示例

my.uploadFile({
  url: '请使用自己服务器地址',
  fileType: 'image',
  fileName: 'file',
  filePath: '...',
  success: (res) => {
    my.alert({
      content: '上传成功'
    });
  },
});

my.downloadFile

下载文件资源到本地。

入参

名称 类型 必填 描述
url String 下载文件地址
header Object HTTP 请求 Header
success Function 调用成功的回调函数
fail Function 调用失败的回调函数
complete Function 调用结束的回调函数(调用成功、失败都会执行)

success 返回值

名称 类型 描述
apFilePath String 文件临时存放的位置

错误码

error 描述
12 下载失败
13 没有权限

代码示例

my.downloadFile({
      url: 'http://img.alicdn.com/tfs/TB1x669SXXXXXbdaFXXXXXXXXXX-520-280.jpg',
      success({ apFilePath }) {
        abridge.previewImage({
          urls: [apFilePath],
        });
      },
      fail(res) {
        abridge.alert({
          content: res.errorMessage || res.error,
        });
      },
    });

my.connectSocket

创建一个 WebSocket 的连接;一个支付宝小程序同时只能保留一个 WebSocket 连接,如果当前已存在 WebSocket 连接,会自动关闭该连接,并重新创建一个新的 WebSocket 连接。

入参

名称 类型 必填 描述
url String 目标服务器url
data Object 请求的参数
headers Object 设置请求的头部
success Function 调用成功的回调函数
fail Function 调用失败的回调函数
complete Function 调用结束的回调函数(调用成功、失败都会执行)

错误码

error 描述
1 未知错误
2 网络连接已经存在
3 URL参数为空
4 无法识别的URL格式
5 URL必须以ws或者wss开头
6 连接服务器超时
7 服务器返回的https证书无效
8 服务端返回协议头无效
9 WebSocket请求没有指定Sec-WebSocket-Protocol请求头
10 网络连接没有打开,无法发送消息
11 消息发送失败
12 无法申请更多内存来读取网络数据

示例代码

my.connectSocket({
  url: 'test.php',
  data: {},
  header:{
    'content-type': 'application/json'
  },
  method:"GET",
});

my.onSocketOpen

监听WebSocket连接打开事件。

示例代码

my.connectSocket({
  url: 'test.php',
});


my.onSocketOpen(function(res) {
  console.log('WebSocket 连接已打开!');
});

my.onSocketError

监听WebSocket错误。

示例代码

my.connectSocket({
  url: '开发者的服务器地址'
});


my.onSocketOpen(function(res){
  console.log('WebSocket 连接已打开!');
});


my.onSocketError(function(res){
  console.log('WebSocket 连接打开失败,请检查!');
});

my.sendSocketMessage

通过 WebSocket 连接发送数据,需要先使用 my.connectSocket 发起建连,并在 my.onSocketOpen 回调之后再发送数据。

入参

名称 类型 必填 描述
data String/ArrayBuffer 需要发送的内容
success Function 回调函数
fail Function 调用失败的回调函数
complete Function 调用结束的回调函数(调用成功、失败都会执行)

示例代码

my.sendSocketMessage({
    data: this.data.toSendMessage, // 需要发送的内容
    success: (res) => {
        my.alert({content: '数据发送!' + this.data.toSendMessage});
    },
});

my.onSocketMessage

监听WebSocket接受到服务器的消息事件。

回调返回值

名称 类型
描述 data
String/ArrayBuffer 服务器返回的消息

示例代码

my.connectSocket({
  url: '服务器地址'
})


my.onSocketMessage(function(res) {
  console.log('收到服务器内容:' + res.data)
})

my.closeSocket

入参

名称 类型 必填 描述
success Function 回调函数
fail Function 调用失败的回调函数
complete Function 调用结束的回调函数(调用成功、失败都会执行)

代码示例

关闭WebSocket连接。

my.onSocketOpen(function() {
  my.closeSocket()
})


my.onSocketClose(function(res) {
  console.log('WebSocket 已关闭!')
})

my.onSocketClose

代码示例

监听WebSocket关闭。

onLoad() {
    // 注意: 回调方法的注册在整个小程序启动阶段只要做一次,调多次会有多次回调
    my.onSocketClose((res) => {
      my.alert({content: '连接已关闭!'});
      this.setData({
        sendMessageAbility: false,
        closeLinkAbility: false,
      });
    });
    // 注意: 回调方法的注册在整个小程序启动阶段只要做一次,调多次会有多次回调
    my.onSocketOpen((res) => {
      my.alert({content: '连接已打开!'});
      this.setData({
        sendMessageAbility: true,
        closeLinkAbility: true,
      });
    });


    my.onSocketError(function(res){
      my.alert('WebSocket 连接打开失败,请检查!' + res);
    });


    // 注意: 回调方法的注册在整个小程序启动阶段只要做一次,调多次会有多次回调
    my.onSocketMessage((res) => {
      my.alert({content: '收到数据!' + JSON.stringify(res)});
    });
  }


connect_start() {
    my.connectSocket({
      url: '服务器地址', // 开发者服务器接口地址,必须是 wss 协议,且域名必须是后台配置的合法域名
      success: (res) => {
        my.showToast({
          content: 'success', // 文字内容
        });
      },
      fail:()=>{
        my.showToast({
          content: 'fail', // 文字内容
        });
      }
    });
  },

  • 注意:所有 on 开头的监听事件函数,建议放到 Page 页面的 onLoad() 函数中执行,否则容易造成多次监听同一个重复事件。
支付宝小程序API 位置
支付宝小程序API 获取基础库版本号
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

支付宝小程序开发文档

支付宝小程序 快速示例

支付宝小程序 小程序快速示例

支付宝小程序 框架

支付宝小程序 组件

支付宝小程序组件 基础组件

支付宝小程序组件 无障碍访问

支付宝小程序 扩展组件

支付宝小程序扩展组件 UI组件

支付宝小程序 API

支付宝小程序 开发工具

支付宝小程序 云服务

支付宝小程序 Serverless

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }