javascript - 使用 ajax Javascript 提交 Django 表单
问题描述
我试图从输入数据网格表中发布表单。当我打印filter_list(参考代码)时,我只得到一个无对象。但是当我通过成功使用警报功能检查表中的数据时,它返回正确的选定值。我对ajax不太了解。请帮我整理一下。我 在下面的 Views.py 中附加了views.py、HTML 的代码,
def mytable1(request):
if request.method == 'POST':
filter_list = request.POST.get('regionwiselist')
**print(filter_list)**
context={'filter_list':filter_list}
print(context)
return render(request, 'mytable2.html', context)
else:
sbc = MTD.pdobjects.all()
df = sbc.to_dataframe().reset_index(drop=True)
df.reset_index(inplace=True)
dict1=df.transpose().to_dict()
dict=[]
for k,v in dict1.items():
dict.append(v)
col=list(df1.columns)
context={
'Vertical_value':dict,
'Vertical_header':col
}
return render(request, 'mytable2.html', context)
在 mytable2.html 中,
{% extends "base.html" %}
{% block body %}
{% if Vertical_header %}
<script>
$(document).ready(function(){
$("#gridContainer").dxDataGrid({
dataSource: {{Vertical_value|safe}},
showBorders: true,
paging: {
pageSize: 10
},
keyExpr: "RGN",
showBorders: true,
selection: {
mode: "multiple"
},
paging: {
pageSize: 10
},
filterRow: {
visible: true
},
pager: {
showPageSizeSelector: true,
allowedPageSizes: [5, 10, 20],
showInfo: true
},
columns: {{Vertical_header|safe}},
showBorders: true
});
});
</script>
<div class="demo-container">
<form id='my_form' method = "POST">
{% csrf_token %}
<div id="gridContainer"></div>
<button type="submit" class="btn btn-primary btn-lg"><i class="fa fa-angle-double-down"></i></button>
</form>
</div>
<script type="text/javascript">
$(document).on('submit','#my_form',function data(e){
var dataGrid = $("#gridContainer").dxDataGrid("instance");
var selectedKeys = dataGrid.getSelectedRowKeys();
$.ajax({
type: 'POST',
url: '{% url 'mytable1' %}',
data:{
regionwiselist:selectedKeys[0].value,
csrfmiddlewaretoken:$("[name=csrfmiddlewaretoken]").val()
},
success: function(){
alert(selectedKeys);
}
});
});
</script>
<script type="text/javascript">
function data(){
var dataGrid = $("#gridContainer").dxDataGrid("instance");
var selectedKeys = dataGrid.getSelectedRowKeys();
console.log(selectedKeys[0])
};
</script>
<button onclick="data()" type="button" name="button"></button>
{% else %}
<h2>kd:{{filter_list|safe}}</h2>
{% endif %}
{% endblock %}
解决方案
推荐阅读
- python - 使用透视变换来改变图像的视角。没有得到想要的结果
- kubernetes - Kubernetes 无法确保负载均衡器:创建负载均衡器侦听器时出错:“DuplicateListener
- javascript - React Native 选择默认值为 1
- javascript - 为什么即使在 Postman 中返回,我也无法从 POST 请求中接收正文?
- ios - 从 Fabric 升级到 Firebase Crashlytics 未显示在 Firebase 控制台中
- c++ - 包含自身的容器的 std::variant
- javascript - 导航到不同屏幕时的清理警告
- c# - 调试时显示在其他应用程序上
- python - “[SSL: CERTIFICATE_VERIFY_FAILED] 证书验证失败:自签名证书”和“[SSL: TLSV1_ALERT_UNKNOWN_CA] tlsv1 alert unknown ca”
- r - R - 如何将十进制转换为 MM:SS.XXX