Axios & Interceptors & Serialization & CORS & cookie

Axios

https://github.com/axios/axios#config-defaultsios

Global axios defaultsgit

axios.defaults.baseURL = 'https://api.example.com';
axios.defaults.headers.common['Authorization'] = AUTH_TOKEN;
axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';

Interceptors

攔截器github

https://github.com/axios/axios#interceptorsaxios

// Add a request interceptor
axios.interceptors.request.use(function (config) {
    // Do something before request is sent
    return config;
}, function (error) {
    // Do something with request error
    return Promise.reject(error);
});

// Add a response interceptor
axios.interceptors.response.use(function (response) {
    // Do something with response data
    return response;
}, function (error) {
    // Do something with response error
    return Promise.reject(error);
});

Serialization

序列化api

application/x-www-form-urlencoded

JSON & application/x-www-form-urlencodedcookie

https://github.com/axios/axios#using-applicationx-www-form-urlencoded-formatapp

const params = new URLSearchParams();

params.append('param1', 'value1');
params.append('param2', 'value2');

axios.post('/foo', params);

https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams#Example
https://www.caniuse.com/#feat=urlsearchparamscors

https://github.com/WebReflection/url-search-params
https://github.com/ljharb/qspost

Axios & cookies & CORS

CORSurl

https://github.com/axios/axios#request-config

{
    // `withCredentials` indicates whether or not cross-site Access-Control requests  should be made using credentials
    withCredentials: false, // default
}
相關文章
相關標籤/搜索