Я делаю GET-запрос с Axios в проекте React-Redux и получаю следующую ошибку:
TypeError: "config.method.toLowerCase is not a function"
request Axios.js:43
wrap bind.js:11
apiCall api.js:32
apiCall api.js:29
... ...
api.js - файл из моего собственного проекта.bind.js и Axios.js из библиотеки Axios.Это моя функция API:
export function apiCall(method, path, data){
let url = backendDomain + path
let config = {
method: [method],
url: [url],
data : [data],
headers:{
"Content-Type":"application/json",
"Accept":"application/json"
}
}
return new Promise((resolve, reject)=>{
return axios(config).then(res=> {
return resolve(res.data)
}).catch(err => {
return reject(err.response);
})
})
Эта функция использует функцию apiCall ():
export function authUser(url, userData, method){
return (dispatch) => {
return new Promise((resolve, reject)=>{
return apiCall(method, "/"+`${url}`, userData)
.then((data) => {
...
resolve();
})
.catch(err=>{
...
reject();
})
})
}
}
Как вы думаете, что-то не так с моим кодом или что-то в этом роде?не так с библиотекой?Когда я использую authUser для отправки своего действия (для Redux State), я дважды проверил, что «method» является String, я console.logged метод typeof в api.js, и он вернул строку.
Edit:
Я пытался вызвать toString () для параметра метода, переданного в apiCall (), но он не работал:
let reMethod = method.toString();
const config = {
method: [reMethod],
url: [url],
data : [data],
headers:{
"Content-Type":"application/json",
"Accept":"application/json"
}
}