Оформление запроса к Джанго - PullRequest
0 голосов
/ 30 августа 2018

У меня сложная проблема при отправке и получении данных в ответ на django с помощью axios. Я не использую REST API. Это моя функция Генделя, связанная с моим тегом формы регистрации, и после каждого нажатия на кнопку отправки эта функция выполняется:

HandelSignUp(e){

e.preventDefault();
let Username = this.refs.username.value;
let Pass = this.refs.pass.value;
let Email =this.refs.email.value;
axios({
  url:'http://127.0.0.1:8000/signupAuth/',
  mothod:'post',
   data:{
    username:this.Username,
    pass:this.Pass,
    email:this.Email
   },
   headers: {
      "X-CSRFToken": window.CSRF_TOKEN,
      "content-type": "application/json"
            }

}).then(respons =>{
  console.log(respons);
})
.catch(err =>{
  console.log(err);
});

а также это мой django urls.py:

urlpatterns = [

path('signupAuth/',ReactApp_View.signupRes),

]

ReactApp_View - это мой views.py в файле ReactApp, который я импортировал правильно. Хорошо, теперь давайте посмотрим мои views.py:

def signupRes(request):
  body_unicode = request.body.decode('utf-8')
  data = json.loads(myjson)
  return HttpResponse(request.body)

В конце концов, когда я заполняю свои поля регистрации и затем нажимаю на кнопку, я вижу этот массаж в журнале консоли моего браузера:

Не удалось загрузить http://127.0.0.1:8000/signupAuth/: Ответ на запрос предварительной проверки не проходит проверку контроля доступа: в запрошенном ресурсе отсутствует заголовок «Access-Control-Allow-Origin». Origin 'http://localhost:8000' поэтому не разрешен доступ.

Что мне делать?

и дополнительный вопрос: что происходит в данном URL в моих аксиосах?

Ответы [ 2 ]

0 голосов
/ 30 августа 2018

просто откройте свой веб-сайт с тем же адресом хоста, который вы пытаетесь вызвать. Используйте http://127.0.0.1:8000/ вместо localhost

0 голосов
/ 30 августа 2018

Вы должны разрешить запросы в бэкэнде

CORS_ORIGIN_WHITELIST = (
'http://127.0.0.1:8000',
'http://localhost:8000'
)

или

response["Access-Control-Allow-Origin"] = "*"
...