请用node.js 结合 axios封装get,post请求,传参url,及data,设置cookie
时间: 2024-03-26 10:41:33 浏览: 77
axios请求的封装
好的,下面是封装get和post请求并设置cookie的示例代码:
```javascript
const axios = require('axios');
const instance = axios.create({
baseURL: 'https://example.com',
timeout: 5000,
headers: {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
});
instance.defaults.headers.common['Cookie'] = `cookieName=cookieValue`;
// 封装 GET 请求
function get(url, params) {
return instance.get(url, { params });
}
// 封装 POST 请求
function post(url, data) {
return instance.post(url, data);
}
// 使用封装的 GET 请求
get('/api/data', { id: 123 })
.then(response => {
console.log(response.data);
})
.catch(error => {
console.log(error);
});
// 使用封装的 POST 请求
post('/api/data', { name: 'John', age: 30 })
.then(response => {
console.log(response.data);
})
.catch(error => {
console.log(error);
});
```
在上面的代码中,我们首先通过 `axios.create()` 方法创建了一个 axios 实例 `instance`,然后在实例的 `defaults.headers.common` 中设置了要发送的 cookie。接着我们封装了 `get()` 和 `post()` 方法,这两个方法分别用于发送 GET 和 POST 请求,并且都接受一个 URL 和数据参数。在这两个方法中,我们分别使用了 `instance.get()` 和 `instance.post()` 方法发送请求,同时将传入的参数作为 `params` 或 `data` 选项传递给这两个方法。最后,我们可以使用封装的 `get()` 和 `post()` 方法来发送请求,获取服务器返回的数据。如果请求发生了错误,我们可以通过 `catch()` 方法获取到错误信息。
阅读全文