如何解决Ajax没有将数据发送到Django视图
我只写了必需的东西。我是新手,因此请忽略质量问题:)。
我的HTML ---
<div class="form-group row pt-3 d-flex justify-content-center">
<div class="col-sm-10 d-flex justify-content-center">
<button id="submit_pic" style="width: 70%;" type=""
class="btn btn-primary">Combine</button>
<script>
$("#submit_pic").submit(function (e) {
e.preventDefault();
var csrfToken = $("input[name='csrfmiddlewaretoken']");
$.ajax({
url: "{% url 'make_combine' %}",//url: "/make_combine",type: "POST",//-------here is problem-------
dataType: "json",cache: true,headers: {'csrfmiddlewaretoken': csrfToken.val()},data: {"for_combine": response_send },//"success": function (result) {
// console.log(data);
//},});
return false;
});
</script>
</div>
</div>
django views.py-
import json
def make_combine(request):
combine_data7 = request.POST.get("for_combine")
我已经尝试了很多互联网和StackOverflow上的技巧,但仍然收到此错误,它表明Combine_data7是NoneType ----
AttributeError at /make_combine
'NoneType' object has no attribute 'split'
感谢妈妈/先生。
解决方法
submit_pic
应该在form id
内部而不是button id
内部。试试下面的代码,它将100%工作。另外,在表单内部设置enctype="multipart/form-data"
属性也是一种好习惯。
<div class="form-group row pt-3 d-flex justify-content-center">
<form id='submit_pic' enctype="multipart/form-data">
<div class="col-sm-10 d-flex justify-content-center">
<button style="width: 70%;" type="" class="btn btn-primary">Combine</button>
</div>
</form>
</div>
<script>
$("#submit_pic").on('submit',function (event) {
event.preventDefault();
var csrfToken = $("input[name=csrfmiddlewaretoken]").val();
console.log(`Error ye raha === ${response_send}`)
$.ajax({
url: "{% url 'make_combine' %}",//url: "/make_combine",type: "post",//-------here is problem-------
dataType: "json",cache: true,headers: {
'csrfmiddlewaretoken': csrfToken
},data: {
"for_combine": response_send
},//"success": function (result) {
// console.log(data);
//},});
return false;
});
</script>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。