要实现非刷新效果,我决定使用 $。post() 但是,我还需要发送csrf令牌,因此,我不能仅发送表单的输入内容。 这是我在.js上的代码,但是JSON.stringify($(this))给了我在views.py后端不需要的东西。
.js
$('#my-form').submit(function(e){
e.preventDefault();
url=$(this).attr('action');
data=JSON.stringify($(this))
$.post(url,{'data':data,'csrfmiddlewaretoken':$( "#csrfmiddlewaretoken" ).val()},function(data_returned){
alert('submit done');
});
});
以我的观点。py
print("data:"+json.loads(str(request.POST['data'])))
这给了我类似的东西
{“ 0”:{“ 0”:{},“ 1”:{},“ 2”:{“ 0”:{},“ 1”:{},“ 2”:{}}, “ 3”:{},“ 4”:{},“ 5”:{},“ 6”:{},“ 7”:{},“ 8”:{},“ 9”:{},“ 10“:{},” jQuery112402971640175601502“:28},” context“:{” 0“:{},” 1“:{},” 2“:{” 0“:{},” 1“:{} ,“ 2”:{}},“ 3”:{},“ 4”:{},“ 5”:{},“ 6”:{},“ 7”:{},“ 8”:{} ,“ 9”:{},“ 10“:{},” jQuery112402971640175601502“:28},” length“:1}
有什么建议吗?谢谢!