wx.request发送post请求的示例代码
时间: 2023-09-26 21:07:24 浏览: 46
以下是一个发送 POST 请求的示例代码:
```javascript
wx.request({
url: 'https://example.com/api/data',
method: 'POST',
data: {
name: 'John',
age: 30
},
header: {
'content-type': 'application/json'
},
success(res) {
console.log(res.data)
},
fail(err) {
console.error(err)
}
})
```
在这个示例中,我们向 `https://example.com/api/data` 发送一个 POST 请求,并且发送的数据是一个 JSON 对象 `{ name: 'John', age: 30 }`。我们还设置了请求头的 `content-type` 为 `application/json`,表示发送的数据类型是 JSON。
当请求成功后,我们会在控制台输出返回的数据 `res.data`。如果请求失败,我们会在控制台输出错误信息 `err`。
相关问题
使用wx.request 如何发送x-www-form-urlencoded的post请求
您可以使用`wx.request`发送`x-www-form-urlencoded`的POST请求,以下是一个示例代码:
```javascript
// 构造POST请求的参数
const params = {
key1: 'value1',
key2: 'value2'
};
// 将参数转换成x-www-form-urlencoded格式
const formData = Object.keys(params).map(key => {
return encodeURIComponent(key) + '=' + encodeURIComponent(params[key]);
}).join('&');
// 发送POST请求
wx.request({
url: 'https://example.com/api',
method: 'POST',
data: formData,
header: {
'Content-Type': 'application/x-www-form-urlencoded'
},
success(res) {
console.log(res.data);
},
fail(err) {
console.error(err);
}
});
```
在上面的代码中,首先我们将要发送的参数构造为一个对象`params`,然后使用`Object.keys`和`map`方法将参数转换成`x-www-form-urlencoded`格式的字符串`formData`。接下来,在发送POST请求时,我们设置请求头的`Content-Type`为`application/x-www-form-urlencoded`,并将`formData`作为请求的数据传递给`wx.request`函数。最后,在成功和失败的回调函数中处理返回的结果或错误信息。
请注意替换示例代码中的URL和参数为您实际的请求地址和数据。
封装wx.request
promise封装wx.request是指将微信小程序中的wx.request方法进行封装,使其返回一个Promise对象,以便更方便地进行异步操作。
具体实现方法如下:
1. 创建一个util.js文件,用于存放封装后的wx.request方法。
2. 在util.js文件中定义一个名为request的函数,该函数接收一个options对象作为参数,其中包含了请求的url、data、method等信息。
3. 在request函数中,使用Promise对象封装wx.request方法,将成功和失败的回调函数分别封装在resolve和reject中,并返回Promise对象。
4. 在需要使用wx.request方法的地方,引入util.js文件,并调用request函数即可。
示例代码如下:
// util.js
function request(options) {
return new Promise((resolve, reject) => {
wx.request({
url: options.url,
data: options.data,
method: options.method || 'GET',
header: options.header || {},
success: function(res) {
resolve(res.data);
},
fail: function(err) {
reject(err);
}
})
})
}
module.exports = {
request: request
}
// 使用方法
const util = require('util.js');
util.request({
url: 'https://www.example.com/api',
data: {
name: '张三',
age: 18
},
method: 'POST',
header: {
'content-type': 'application/json'
}
}).then(res => {
console.log(res);
}).catch(err => {
console.error(err);
})