Отправить запрос через Axios не удается, в то время как он успешно выполняется POSTMAN.Как? - PullRequest
0 голосов
/ 02 июня 2018

Я пытаюсь выполнить почтовый запрос с axios к конечной точке на Ubuntu VPS (серверная часть Django).API отвечает 201, созданный после успешного почтового запроса.Используя Почтальон, я могу выполнить успешный почтовый запрос, но когда я пытаюсь выполнить его с помощью Axios, я вижу, что исключения вылавливаются в консоли (я использовал console.log).

Воткак я делаю это через Axios:

.
.
.


axios.defaults.xsrfCookieName = 'csrftoken'
axios.defaults.xsrfHeaderName = 'X-CSRFToken'

// Tried without headers as well
var headers = {'Content-Type': 'application/x-www-form-urlencoded'}

axios.post('http://127.0.0.1:8000/api/v1/subscribe/',data_str,headers)
.then(function(response) {
console.log('saved successfully');
// this.isHidden = false;
alert("Subscription succesful !!");
console.log(response)
}).catch((error) =>{
if(error.response){
console.log('1..........Response Error');
console.log(error.response.data);
console.log(error.response.status);
console.log(error.response.headers);
}
else if(error.request){
// This part gets printed in the browser console. No idea why
console.log('2..........Request Error');
console.log(error.request);
}
else{
console.log('3..........Other error');
console.log('Error', error.message);
}
console.log(error.config);
} );
var headers = {'Content-Type': 'application/x-www-form-urlencoded'}
axios.post('http://127.0.0.1:8000/api/v1/subscribe/',data_str,headers)
.then(function(response) {
console.log('saved successfully');
// this.isHidden = false;
alert("Subscription succesful !!");
console.log(response)
}).catch((error) =>{
if(error.response){
console.log('1..........Response Error');
console.log(error.response.data);
console.log(error.response.status);
console.log(error.response.headers);
}
else if(error.request){
console.log('2..........Request Error');
console.log(error.request);
}
else{
console.log('3..........Other error');
console.log('Error', error.message);
}
console.log(error.config);
} );

** Несколько конфигураций CORS в моем API для django rest:

CORS_ORIGIN_ALLOW_ALL = True

CORS_ALLOW_CREDENTIALS = True

CORS_ALLOW_METHODS = ['DELETE','GET','OPTIONS','PATCH','POST','PUT',]

CORS_ALLOW_HEADERS = ['*']

Вот картинка ошибок в консоли Это консольный журнал в браузере

Я благодарен, если кто-нибудь поможет.

Заранее спасибо!

1 Ответ

0 голосов
/ 04 июня 2018

Спасибо за ваш вклад.Я решил эту проблему.URL при выполнении запроса POST был http://localhost:8000/api/v1/subscribe, который после замены на http://my website.com/api/v1/subscribe работал успешно.

Я работал с реальным URL:

, т. Е. http://my website.com/api/v1/subscribe в Почтальоне, и поэтому это было успешно.Где, как в VUE я использовал локальный хост, который продолжал давать ошибку.☺️

...