import axios from 'axios'; axios.defaults.timeout = 5000; axios.defaults.baseURL = 'http://192.168.18.142:8000'; axios.defaults.withCredentials = true; //http request 拦截器 axios.interceptors.request.use( config => { // 发送数据之前的操作 配置请求头 添加csrf信息 config.headers['X-Requested-With'] = 'XMLHttpRequest'; let regex = /.*csrftoken=([^;.]*).*$/; // 用于从cookie中匹配 csrftoken值 config.headers['X-CSRFToken'] = document.cookie.match(regex) === null ? null : document.cookie.match(regex)[1]; return config }, error => { return Promise.reject(err); } ); //http response 拦截器 axios.interceptors.response.use( response => { // 返回数据之前的操作 return response; }, error => { return Promise.reject(error) } ) /** * 封装get方法 * @param url * @param data * @returns {Promise} */ export function fetch(url, params = {}) { return new Promise((resolve, reject) => { axios.get(url, { params: params }) .then(response => { resolve(response.data); }) .catch(err => { reject(err) }) }) } /** * 封装post请求 * @param url * @param data * @returns {Promise} */ export function post(url, data = {}) { return new Promise((resolve, reject) => { axios.post(url, data) .then(response => { resolve(response.data); }, err => { reject(err) }) }) } /** * 封装patch请求 * @param url * @param data * @returns {Promise} */ export function patch(url, data = {}) { return new Promise((resolve, reject) => { axios.patch(url, data) .then(response => { resolve(response.data); }, err => { reject(err) }) }) } /** * 封装put请求 * @param url * @param data * @returns {Promise} */ export function put(url, data = {}) { return new Promise((resolve, reject) => { axios.put(url, data) .then(response => { resolve(response.data); }, err => { reject(err) }) }) } 来源:博客园
作者:一点飞鸿影下
链接:https://www.cnblogs.com/asia9847/p/11468211.html