需求:
散點圖中每選擇一個點,獲取到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