インターセプターでbaseURLを設定しても機能しません。
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私の正常な動作はすべてが関数ではありません
同じ問題が発生しました。 これは、実装の詳細というよりも概念的な問題である可能性があります。 baseURLを設定することは、「これをすべてのリクエストに追加する」という言い方のように思えます。これは、すべてのリクエストに設定すると意味がないように見えます。 ケースは間違いなく次のような条件付きで作成できますが、
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 」ですが、インターセプターでbaseURLを設定すると、「config.baseURL」のみが更新されます。 理由は理にかなっていますが、文字通りそのフィールドを更新しているだけですが、URLフィールドも更新するか、少なくともドキュメント(できれば大きな太字で)にインターセプターで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
Axios v0.16.12
#950で修正
最も参考になるコメント
同じ問題が発生しました。 これは、実装の詳細というよりも概念的な問題である可能性があります。 baseURLを設定することは、「これをすべてのリクエストに追加する」という言い方のように思えます。これは、すべてのリクエストに設定すると意味がないように見えます。 ケースは間違いなく次のような条件付きで作成できますが、
しかし、それは機能しません。 このようにグローバルデフォルトを設定すると、次のようになります。
axios.defaults.baseURL = 'https://example.com';
リクエストで設定を渡すのと同じように:
axios.post('/extra', { baseURL: 'https://example.com' })
どちらの場合も、構成の「url」フィールドは「 https://example.com/extra 」ですが、インターセプターでbaseURLを設定すると、「config.baseURL」のみが更新されます。 理由は理にかなっていますが、文字通りそのフィールドを更新しているだけですが、URLフィールドも更新するか、少なくともドキュメント(できれば大きな太字で)にインターセプターでbaseURLを設定すると記載されていると便利です役に立たない/お勧めしません。
@ Baoyx007いつでも設定の「url」値を手動で変更できます
またはすべての要求に応じて
ノードv7.10.0
Axios v0.16.12