当我提交保存表单的Ajax请求时,我得到一个空的request.POST
QueryDict。希望我只是因为缺乏Ajax经验而忽略了一些东西。以下是相关代码:
的Ajax
<script>
$(function() {
[...]
$(document).ajaxComplete(function() {
[...]
$(".inline-save").click(function() {
$.ajax({
url : '/webApp/saveForm/',
type : 'POST',
dataType : 'HTML',
contentType: 'application/x-www-form-urlencoded;charset=utf-8',
success : function(info) {
$("#info-display").html(info);
}
});
});
});
});
我打算保存的表单是另一个Ajax调用,因此是ajaxComplete
用法。在我的 urls.py 和 views.py 中,我只是重定向到save_view
,现在只打印request.POST
,输出{{1} - 一个空的QueryDict。
答案 0 :(得分:0)
您可以将data : postData
添加到ajax
:
$.ajax({
url : '/webApp/saveForm/',
type : 'POST',
data : postData, // You need to add the data you want to send here
dataType : 'HTML',
contentType: 'application/x-www-form-urlencoded;charset=utf-8',
success : function(info) {
$("#info-display").html(info);
}
});
答案 1 :(得分:0)
我不太了解您的问题,但是,请尝试查看使用Jquery解释Ajax的文档。
$.ajax({
type: "POST",
url: url,
data: data,
success: success,
dataType: dataType
});
来源:http://api.jquery.com/jquery.post/
尝试与众不同。例如:
$(".inline-save").click(function() {
$.ajax({
type: "POST",
url: "http://xxx.xxx.x.xx:PORT/webApp/saveForm",
dataType:'json',
data:$(".formName").serialize(),
success: function(msg) {
alert("Form supposedly saved",msg)
$("#info-display").html(info);
}
});
}
或只是添加字段,看看它是否适合您:
data:$(".formName").serialize(),
或
data:{
variableName : value,
variableName2:value2
}
希望它有所帮助。