Django学习----js传参给view.py
需求:
散点图中每选择一个点,获取到id之后传给view.py,根据这个id进行sql语句的查询。
问题:
要求实时查询
解决办法:
ajax查询
js页面
.on("mousedown",function(d,i){ selectId = dataset[i][2]; $.ajax({ url: "/line", data: JSON.stringify({ // JSON格式封装数据 id: selectId // age: xx }), // data:data, csrfmiddlewaretoken: '{{ csrf_token }}', contentType: 'application/json', type: "POST", traditional: true, // 需要传递列表、字典时加上这句 success: function(value) {//接收成功反馈 var lineIndividual = JSON.parse(value['lineIndividual']); var lineCluster = JSON.parse(value['lineCluster']); // var lineIndividual = eval('(' + value['lineIndividual']+ ')'); // var lineCluster = eval('(' + value['lineCluster']+ ')'); lines(lineIndividual,lineCluster); }, fail: function(result) { } }); })
view.py
if request.method == 'POST': json_receive = json.loads(request.body) id = json_receive['id'] #### return JsonResponse({'lineIndividual': queryById_data, 'lineCluster': queryCluster})
反馈页面:
由于图重新更新了,之前的需要销毁
var myChart;//全局变量 function lines(lineIndividual,lineCluster){ if (myChart != null && myChart != "" && myChart != undefined) { myChart.dispose();//销毁 }
遇到问题:
解决
修改settings.py文件,注释掉
django.middleware.csrf.CsrfViewMiddleware',
参考:
https://www.cnblogs.com/midworld/p/10996850.html