问题描述
不好意思,本人是一个初学者,在尝试用django制作网站的时候遇到了一个问题,网上搜索了很久,苦于没有答案,想请教一下。想要实现的是在前端html里有一个select下拉框中的选项中的值在后台数据库中自动获取。
问题出现的环境背景及自己尝试过哪些方法
自己的思路是前端用javescript fetch API 来获取数据,然后循环打印输出到option选项中(这里的代码写法不是很清楚),后台是用django的orm去数据库中取数据(这里我尝试了两种数据格式,返回一个list或者是一个json格式,但是前台的好像都无法获取到) 我感觉应该是我的循环的写法语法有问题,而且后台返还的数据格式也不太清楚具体要使用哪一种。
相关代码
// 请把代码文本粘贴到下方(请勿用图片代替代码)
html中的代码:
// get select options
fetch('/api/getSelectOption')
.then(res => res.json())
.then((responseJson)=>{
var selectobj=document.getElementById('test');
for (var i = 0; i
selectobj.options.add(new Option(responseJson[i]))
})
//后台获取数据的代码
def select(request):
search_name=models.Webtest.objects.values('name')
select_list=list(search_name)
return JsonResponse(select_list, safe=False)
你期待的结果是什么?实际看到的错误信息又是什么?
实际在chrome中看到获取的数据是这样的,是不是我返还的数据格式有问题,前台获取并打印的具体的写法是怎么样的
呢,很不好意思,接触python和js只有2周的时间,感觉我的写法上面有很多问题。