如何使用django和ajax解决此错误?

时间:2019-01-24 05:39:51

标签: javascript python django web

我只想通过ajax请求将选项的选定id传递给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);
}

});

Django代码

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

print(subid)
return HttpResponse(subid)

django

javascript

frontend

subid的输出结果不是为什么会发生

1 个答案:

答案 0 :(得分:0)

该错误消息告诉您,子主视图未返回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);
}