网络请求

qh.request

解释:发起网络请求。

参数:Object object

object参数说明

参数名类型必填默认值说明最低版本
urlString-开发者服务器接口地址
dataObject/String-请求的参数
headerObject-设置请求的 header,header 中不能设置 Referer。
timeoutNumber-超时时间,单位为毫秒。1.9.3
methodStringGET (大写)有效值:OPTIONS, GET, HEAD, POST, PUT, DELETE。
dataTypeStringjson有效值:string,json。 如果设为 json,会尝试对返回的数据做一次 JSON.parse 。
responseTypeStringtext设置响应的数据类型, 合法值:text、arraybuffer。
successFunction-收到开发者服务成功返回的回调函数。
failFunction-接口调用失败的回调函数。
completeFunction-接口调用结束的回调函数(调用成功、失败都会执行)。

success 返回参数说明

参数类型说明
dataObject/String开发者服务器返回的数据
statusCodeNumber开发者服务器返回的 HTTP 状态码
headerObject开发者服务器返回的 HTTP Response Header

data 数据说明:

最终发送给服务器的数据都是 String 类型,如果传入的 data 不是 String 类型,会被转换成 String 。转换规则如下: 1、对于 GET 方法的数据,会将数据转换成 query string(encodeURIComponent(k)=encodeURIComponent(v)&encodeURIComponent(k)=encodeURIComponent(v)…); 2、对于 POST 方法且 header['content-type'] 为 application/json 的数据,会对数据进行 JSON 序列化; 3、对于 POST 方法且 header['content-type'] 为 application/x-www-form-urlencoded 的数据,会将数据转换成 query string (encodeURIComponent(k)=encodeURIComponent(v)&encodeURIComponent(k)=encodeURIComponent(v)…)。

示例 1

在 js 文件中

  1. qh.request({
  2. url: 'https://example.qihu.com/xxx', // 仅为示例,并非真实的接口地址
  3. method: 'GET',
  4. dataType: 'json',
  5. data: {
  6. key: 'value'
  7. },
  8. header: {
  9. 'content-type': 'application/json' // 默认值
  10. },
  11. success: function (res) {
  12. console.log(res.data);
  13. },
  14. fail: function (err) {
  15. console.log('错误码:' + err.errCode);
  16. console.log('错误信息:' + err.errMsg);
  17. }
  18. });

返回值

返回一个 requestTask 对象,通过 requestTask,可中断请求任务。

requestTask 对象的方法列表

方法参数说明
abort中断请求任务

示例 2

  1. const requestTask = qh.request({
  2. url: 'https://example.qihu.com/xxx',
  3. data: {
  4. tabname: 'XXX'
  5. },
  6. header: {
  7. 'content-type': 'application/json'
  8. },
  9. success: function (res) {
  10. console.log(res.data)
  11. }
  12. });
  13. //取消请求任务
  14. requestTask.abort();

说明

  • content-type 默认为 'application/json';
  • url 中不能有端口。