django和vue实现数据交互的方法
我使用的是jQuery的ajax与django进行数据交互,遇到的问题是django的csrf
传输数据的方法如下:
$(function(){
$.ajax({
url:'account/register',
type:'post',
dataType:'json',
data:$('#form1').serialize(),
success:function(result){
console.log(result);
if(result){
alert("result");
}
},
error:function(){
alert("error");
},
})
})
})
django对应的代码
defregister(request):
ifrequest.method=="POST":
ifrequest.POST.get('name'):
returnrender(request,'success.html')
else:
returnHttpResponse("账号不能为空“)
当提交表单的时候,会出现
如果前端可以有django渲染,这个问题很好解决,只需要在要提交的表单中加入{%csrf_token%},但是在这中情况下显然是行不通的,通过在网上的搜索,我找到了这样的解决方案,完整代码如下:
$(function(){
$('#sub').click(function(){
$.ajaxSetup({
beforeSend:function(xhr,settings){
functiongetCookie(name){
varcookieValue=null;
if(document.cookie&&document.cookie!=''){
varcookies=document.cookie.split(';');
for(vari=0;i
这样就可以成功提交表单了
方法来源https://stackoverflow.com/questions/5100539/django-csrf-check-failing-with-an-ajax-post-request
以上这篇django和vue实现数据交互的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。