рдЗрдВрдЯрд░рд╕реЗрдкреНрдЯрд░ рдореЗрдВ рд╕реЗрдЯ рдмреЗрд╕рдпреВрдЖрд░рдПрд▓ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред
const service = axios.create({
baseURL: 'http://localhost/'
});
service.interceptors.request.use(config => {
config.baseURL = 'dd'
console.log(config.url) // output : http://localhost/././../
return config;
}, error => {
// Do something with request error
console.error(error); // for debug
Promise.reject(error);
})
рдореБрдЭреЗ рджреЗрдЦреЛ рдХрд╕реНрдЯрдо рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдбрд┐рдлрд╝реЙрд▓реНрдЯ axios.all рдХреЛрдИ рдлрд╝рдВрдХреНрд╢рди рдирд╣реАрдВ рд╣реИ #948 рдореЗрд░рд╛ рд╕рд╛рдорд╛рдиреНрдп рдХрд╛рд░реНрдп рдХреЗрд╡рд▓ рд╕рднреА рдлрд╝рдВрдХреНрд╢рди рдирд╣реАрдВ рд╣реИ
рдПрдХ рд╣реА рдореБрджреНрджреЗ рдХрд╛ рдЕрдиреБрднрд╡ рдХрд┐рдпрд╛ред рдпрд╣ рдПрдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╡рд┐рд╡рд░рдг рд╕реЗ рдЕрдзрд┐рдХ рдПрдХ рд╡реИрдЪрд╛рд░рд┐рдХ рдореБрджреНрджрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдмреЗрд╕рдпреВрдЖрд░рдПрд▓ рд╕реЗрдЯ рдХрд░рдирд╛ "рдЗрд╕реЗ рд╣рд░ рдЕрдиреБрд░реЛрдз рдкрд░ рдкреНрд░реАрдкреЗрдб рдХрд░реЗрдВ" рдХрд╣рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рд╣реИ, рдЬреЛ рд╣рд░ рдЕрдиреБрд░реЛрдз рдкрд░ рд╕реЗрдЯ рдХрд░рддреЗ рд╕рдордп рд╡реНрдпрд░реНрде рд▓рдЧрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдПрдХ рд╕рд╢рд░реНрдд рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╛рдорд▓рд╛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреИрд╕реЗ:
axios.interceptors.request.use((config) => {
return getAge()
.then((age) => {
if(age < 10){ config.baseURL = 'https://young.com' }
else { config.baseURL = 'https://young.com' }
})
рд▓реЗрдХрд┐рди рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рддрд░рд╣ рдПрдХ рд╡реИрд╢реНрд╡рд┐рдХ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реЗрдЯ рдХрд░рдирд╛:
axios.defaults.baseURL = 'https://example.com';
рдЬреИрд╕рд╛ рдХрд┐ рдЕрдиреБрд░реЛрдз рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд┐рдиреНрдпрд╛рд╕ рдкрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ:
axios.post('/extra', { baseURL: 'https://example.com' })
рджреЛрдиреЛрдВ рд╣реА рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд╛ 'url' рдлрд╝реАрд▓реНрдб ' https://example.com/extra ' рд╣реИ, рд▓реЗрдХрд┐рди рдЗрдВрдЯрд░рд╕реЗрдкреНрдЯрд░ рдореЗрдВ рдмреЗрд╕рдпреВрдЖрд░рдПрд▓ рд╕реЗрдЯ рдХрд░рдиреЗ рд╕реЗ рдХреЗрд╡рд▓ 'config.baseURL' рдЕрдкрдбреЗрдЯ рд╣реЛрддрд╛ рд╣реИред рдореЗрд░рд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдпрд╣ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ рдХрд┐, рдЖрдк рд╕рдЪрдореБрдЪ рдЙрд╕ рдлрд╝реАрд▓реНрдб рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдпрд╣ рдпреВрдЖрд░рдПрд▓ рдлрд╝реАрд▓реНрдб рдХреЛ рднреА рдЕрдкрдбреЗрдЯ рдХрд░рддрд╛ рд╣реИ рдпрд╛ рдХрдо рд╕реЗ рдХрдо рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдореЗрдВ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдЕрдзрд┐рдорд╛рдирддрдГ рдмрдбрд╝реЗ рдмреЛрд▓реНрдб рд▓реЗрдЯрд░рд┐рдВрдЧ рдореЗрдВ) рдЬреЛ рдЗрдВрдЯрд░рд╕реЗрдкреНрдЯрд░ рдореЗрдВ рдмреЗрд╕рдпреВрдЖрд░рдПрд▓ рд╕реЗрдЯ рдХрд░ рд░рд╣рд╛ рд╣реИ рдЕрдиреБрдкрдпреЛрдЧреА/рдЕрдиреБрд╢рдВрд╕рд┐рдд рдирд╣реАрдВред
@ Baoyx007 рдЖрдк рд╣рдореЗрд╢рд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ 'url' рдорд╛рди рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ
service.interceptors.request.use(config => {
//config.baseURL = 'dd'
config.url = BASE_URL + config.url
return config;
рдпрд╛ рд╣рд░ рдЕрдиреБрд░реЛрдз рдкрд░
axios.get('/hello', { baseURL: BASE_URL })
рдиреЛрдб v7.10.0
рдПрдХреНрд╕рд┐рдпреЛрд╕ v0.16.12
#950 . рдореЗрдВ рдлрд┐рдХреНрд╕реНрдб
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдПрдХ рд╣реА рдореБрджреНрджреЗ рдХрд╛ рдЕрдиреБрднрд╡ рдХрд┐рдпрд╛ред рдпрд╣ рдПрдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╡рд┐рд╡рд░рдг рд╕реЗ рдЕрдзрд┐рдХ рдПрдХ рд╡реИрдЪрд╛рд░рд┐рдХ рдореБрджреНрджрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдмреЗрд╕рдпреВрдЖрд░рдПрд▓ рд╕реЗрдЯ рдХрд░рдирд╛ "рдЗрд╕реЗ рд╣рд░ рдЕрдиреБрд░реЛрдз рдкрд░ рдкреНрд░реАрдкреЗрдб рдХрд░реЗрдВ" рдХрд╣рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рд╣реИ, рдЬреЛ рд╣рд░ рдЕрдиреБрд░реЛрдз рдкрд░ рд╕реЗрдЯ рдХрд░рддреЗ рд╕рдордп рд╡реНрдпрд░реНрде рд▓рдЧрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдПрдХ рд╕рд╢рд░реНрдд рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╛рдорд▓рд╛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреИрд╕реЗ:
рд▓реЗрдХрд┐рди рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рддрд░рд╣ рдПрдХ рд╡реИрд╢реНрд╡рд┐рдХ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реЗрдЯ рдХрд░рдирд╛:
axios.defaults.baseURL = 'https://example.com';
рдЬреИрд╕рд╛ рдХрд┐ рдЕрдиреБрд░реЛрдз рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд┐рдиреНрдпрд╛рд╕ рдкрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ:
axios.post('/extra', { baseURL: 'https://example.com' })
рджреЛрдиреЛрдВ рд╣реА рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд╛ 'url' рдлрд╝реАрд▓реНрдб ' https://example.com/extra ' рд╣реИ, рд▓реЗрдХрд┐рди рдЗрдВрдЯрд░рд╕реЗрдкреНрдЯрд░ рдореЗрдВ рдмреЗрд╕рдпреВрдЖрд░рдПрд▓ рд╕реЗрдЯ рдХрд░рдиреЗ рд╕реЗ рдХреЗрд╡рд▓ 'config.baseURL' рдЕрдкрдбреЗрдЯ рд╣реЛрддрд╛ рд╣реИред рдореЗрд░рд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдпрд╣ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ рдХрд┐, рдЖрдк рд╕рдЪрдореБрдЪ рдЙрд╕ рдлрд╝реАрд▓реНрдб рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдпрд╣ рдпреВрдЖрд░рдПрд▓ рдлрд╝реАрд▓реНрдб рдХреЛ рднреА рдЕрдкрдбреЗрдЯ рдХрд░рддрд╛ рд╣реИ рдпрд╛ рдХрдо рд╕реЗ рдХрдо рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдореЗрдВ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдЕрдзрд┐рдорд╛рдирддрдГ рдмрдбрд╝реЗ рдмреЛрд▓реНрдб рд▓реЗрдЯрд░рд┐рдВрдЧ рдореЗрдВ) рдЬреЛ рдЗрдВрдЯрд░рд╕реЗрдкреНрдЯрд░ рдореЗрдВ рдмреЗрд╕рдпреВрдЖрд░рдПрд▓ рд╕реЗрдЯ рдХрд░ рд░рд╣рд╛ рд╣реИ рдЕрдиреБрдкрдпреЛрдЧреА/рдЕрдиреБрд╢рдВрд╕рд┐рдд рдирд╣реАрдВред
@ Baoyx007 рдЖрдк рд╣рдореЗрд╢рд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ 'url' рдорд╛рди рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ
рдпрд╛ рд╣рд░ рдЕрдиреБрд░реЛрдз рдкрд░
рдиреЛрдб v7.10.0
рдПрдХреНрд╕рд┐рдпреЛрд╕ v0.16.12