Как решить эту ошибку с Django и AJAX? - PullRequest
0 голосов
/ 24 января 2019

Я просто хочу передать выбранный идентификатор опции через ajax-запрос в django 2.1, но он всегда возвращает мне некоторые ошибки. Я новичок в Django и веб-разработке, поэтому, пожалуйста, помогите решить эту проблему JS код

document.addEventListener('DOMContentLoaded',()=>{
document.querySelector('#mainoption').onchange=()=>{
  const id=document.querySelector('#mainoption').value;
  const request=new XMLHttpRequest;

  request.open('GET','submain');
  request.send(id);
  alert("selected  "+id);
}

});

код Джанго

def submain(request):
subid = request.GET.get('id')

print(subid)
return HttpResponse(subid)

django

javascript

frontend

выход subid не тот, почему это происходит

1 Ответ

0 голосов
/ 24 января 2019

Сообщение об ошибке сообщает вам, что представление поддомена не возвращает объект HttpResponse.Вам необходимо вернуть объект HttpResponse.

from django.http import HttpResponse

def submain(request):
    subid = request.POST.get('id')
    return HttpResponse(subid)

Измените ваш AJAX-запрос на

document.addEventListener('DOMContentLoaded',()=>{
document.querySelector('#mainoption').onchange=()=>{
  const id=document.querySelector('#mainoption').value;
  const request=new XMLHttpRequest;

  request.open('POST','submain');
  request.send("id="+id);
  alert("selected  "+id);
}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...