• 下载
  • 社区

httpRequest

my.httpRequest

注:已废弃,建议使用 my.request

向指定服务器发起一个跨域 http 请求。扫码体验:

img.jpg

入参

名称 类型 必填 描述
url String 目标服务器url
headers Object 设置请求的 HTTP 头,默认 {'Content-Type': 'application/x-www-form-urlencoded'}
method String 默认GET,目前支持GET,POST
data Object 请求参数
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错误

当入参dataType值为json时,小程序框架会先对返回结果做JSON.prase操作,如果解析失败,则会返回error为14的错误。当入参dataType值为text时,如果返回的内容格式不符,也会返回error为14的错误。遇到此错误时,请先检查dataType的设置是否正确。

代码示例

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'});
  }
});

// content-type为json
my.httpRequest({
  url: 'http://httpbin.org/post',
  method: 'POST',
  headers: {
    'content-type': 'application/json'
  },
  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 中添加你需要访问的域名地址,对于该地址,必须填写外网可以访问的域名,不允许填写 IP 地址。