uni.request

uni.request

作用:发起网络请求

OBJECT 参数说明

参数名 类型 必填 默认值 说明
url String 开发者服务器接口地址
data Object/String/ArrayBuffer 请求的参数
header Object 设置请求的 header,header 中不能设置 Referer
method String GET (需大写)有效值:OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT
success Function 收到开发者服务成功返回的回调函数
fail Function 接口调用失败的回调函数

success 返回参数说明

参数名 类型 说明
data Object/String/ArrayBuffer 开发者服务器返回的数据
statusCode Number 开发者服务器返回的 HTTP 状态码
header Object 开发者服务器返回的 HTTP Response Header

data 数据说明
最终发送给服务器的数据是 String 类型,如果传入的 data 不是 String 类型,会被转换成 String。

  • 对于 GET 方法,会将数据转换为 query string。例如 { name: 'name', age: 18 } 转换后的结果是 name=name&age=18
  • 对于 POST 方法且 header['content-type']application/json 的数据,会进行 JSON 序列化。
  • 对于 POST 方法且 header['content-type']application/x-www-form-urlencoded 的数据,会将数据转换为 query string。
    例:
uni.request({
    url: 'https://www.example.com/request', //仅为示例,并非真实接口地址。
    data: {
        text: 'uni.request'
    },
    header: {
        'custom-header': 'hello' //自定义请求头信息
    },
    success: (res) => {
        console.log(res.data);
        this.text = 'request success';
    }
});

返回值
如果希望返回一个 requestTask 对象,需要至少传入 success / fail / complete 参数中的一个。例:

var requestTask = uni.request({
    url: 'https://www.example.com/request', //仅为示例,并非真实接口地址。
    complete: ()=> {}
});
requestTask.abort();

通过 requestTask,可中断请求任务。

const requestTask = uni.request({
    url: 'https://www.example.com/request', //仅为示例,并非真实接口地址。
    data: {
        name: 'name',
        age: 18
    },
    success: function(res) {
        console.log(res.data);
    }
});

// 中断请求任务
requestTask.abort();

示例一:GET请求方式

{{res}}
onLoad:function () {
	uni.request({
		url:'http://demo.hcoder.net',
		method:'GET',
		succsee:function(res){
			console.log(res);
		}
	})
}
// 请求成功控制台会打印返回的内容(返回的是字符串)

示例二:POST请求方式

onLoad:function () {
	uni.request({
		url:'http://demo.hcoder.net/index.php',
		method:'POST',
		header:{'content-type':'application/x-www-form-urlencoded'},
		data:{name:'hcoder...','age':18},
		succsee:function(res){
			console.log(res);
		}
	})
}

// 如果不写header,默认返回的是json形式的数据
注:请求的 header 中 content-type 默认为 application/json

你可能感兴趣的:(uni.request)