React Ax ios как правильно передать в конфиге в качестве параметра? - PullRequest
2 голосов
/ 18 февраля 2020

Кто-нибудь знает как пройти в конфиге в Ax ios? Он работает, когда передана опция "method:'GET'", но не работает, если опция "method:'POST,data:jsondata". возвращает ошибку 500 методом GET. Почему это все еще метод «GET», есть ли обходной путь, или я делаю это неправильно? Я хочу вызывать только эту функцию при использовании Ax ios.

 fetchWithToken(url, options) {          
        const headers = { 'Accept': 'application/json', 'Content-Type': 'application/json' }
        if (this.loggedIn) {
            headers['Authorization'] = 'Bearer ' + this.getToken()
            return axios(url, { headers, options })
                .then(response => { return response })
        }
}

enter image description here

Ответы [ 2 ]

1 голос
/ 18 февраля 2020

Синтаксическая проблема с вашим методом. Вы передаете объект, у которого есть другой объект, который вы должны использовать в качестве параметра в вашем запросе ios.

Я бы сделал это так:

 fetchWithToken = (url, options)=>{          
  const headers = { 'Accept': 'application/json', 'Content-Type': 'application/json' }
  if (this.loggedIn) {
      headers['Authorization'] = 'Bearer ' + this.getToken()
      return axios({url: url, headers: headers, data: options.data, method: options.method})
          .then(response => { return response })
   }
}

const obj = {method:'POST', data:""};
fetchWithToken(url, obj);

Так что теперь вы можете Звоните fetchWithToken(url,{method:'POST',data:jsondata})

0 голосов
/ 18 февраля 2020
let postData = {
    // DATA FOR POST METHOD
}

axios({
    method: 'POST',
    url: `YOUR_API_ENDPOINT`,
    headers: {
        Authorization: `YOUR_AUTH_TOKEN`,
        "Content-Type": "application/json"
    },
    data: {
        ...postData
    }
})
.then((res) => {
    // YOUR CODE HERE
})
.catch((err) => {
    console.log(err);
});
...