django和vue实现数据交互的方法


Posted in Python onAugust 21, 2019

我使用的是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对应的代码

def register(request):
 if request.method=="POST":
  if request.POST.get('name'):
   return render(request,'success.html')
  else:
   return HttpResponse("账号不能为空“)

当提交表单的时候,会出现

如果前端可以有django渲染,这个问题很好解决,只需要在要提交的表单中加入{% csrf_token %},但是在这中情况下显然是行不通的,通过在网上的搜索,我找到了这样的解决方案,完整代码如下:

$(function() {
  $('#sub').click(function () {
  $.ajaxSetup({
   beforeSend: function(xhr, settings) {
   function getCookie(name) {
    var cookieValue = null;
    if (document.cookie && document.cookie != '') {
    var cookies = document.cookie.split(';');
    for (var i = 0; i < cookies.length; i++) {
     var cookie = jQuery.trim(cookies[i]);
     // Does this cookie string begin with the name we want?
     if (cookie.substring(0, name.length + 1) == (name + '=')) {
     cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
     break;
     }
    }
    }
    return cookieValue;
   }
   if (!(/^http:.*/.test(settings.url) || /^https:.*/.test(settings.url))) {
    // Only send the token to relative URLs i.e. locally.
    xhr.setRequestHeader("X-CSRFToken", getCookie('csrftoken'));
   }
   }
  });
  $.ajax({
   url: 'account/register',
   type: 'post',
   dataType:'json',
   data: $('#form1').serialize(),
   success: function (result) {
   console.log(result);
   if (result) {
    alert("result");
   }
   },
   error: function () {
   alert("success");
   },
  })
  })
 })

这样就可以成功提交表单了

方法来源 https://stackoverflow.com/questions/5100539/django-csrf-check-failing-with-an-ajax-post-request

以上这篇django和vue实现数据交互的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python 解析html之BeautifulSoup
Jul 07 Python
Python使用reportlab将目录下所有的文本文件打印成pdf的方法
May 20 Python
老生常谈python函数参数的区别(必看篇)
May 29 Python
django允许外部访问的实例讲解
May 14 Python
Python面向对象程序设计OOP深入分析【构造函数,组合类,工具类等】
Jan 05 Python
Python3.5实现的三级菜单功能示例
Mar 25 Python
python requests更换代理适用于IP频率限制的方法
Aug 21 Python
python生成requirements.txt的两种方法
Sep 18 Python
Python正则re模块使用步骤及原理解析
Aug 18 Python
Python ConfigParser模块的使用示例
Oct 12 Python
python基于tkinter制作m3u8视频下载工具
Apr 24 Python
教你使用TensorFlow2识别验证码
Jun 11 Python
python防止随意修改类属性的实现方法
Aug 21 #Python
python进阶之自定义可迭代的类
Aug 20 #Python
关于阿里云oss获取sts凭证 app直传 python的实例
Aug 20 #Python
django中使用POST方法获取POST数据
Aug 20 #Python
python实现猜拳小游戏
Apr 05 #Python
django 自定义filter 判断if var in list的例子
Aug 20 #Python
python并发编程多进程 模拟抢票实现过程
Aug 20 #Python
You might like
Win2000+Apache+MySql+PHP4+PERL安装使用小结
2006/10/09 PHP
人大复印资料处理程序_补充篇
2006/10/09 PHP
探讨:如何使用PHP实现计算两个日期间隔的年、月、周、日数
2013/06/13 PHP
PHP反向代理类代码
2014/08/15 PHP
PHP中数据库单例模式的实现代码分享
2014/08/21 PHP
PHP生成随机字符串(3种方法)
2015/09/25 PHP
PHP用正则匹配form表单中所有元素的类型和属性值实例代码
2017/02/28 PHP
关于Yii2框架跑脚本时内存泄漏问题的分析与解决
2019/12/01 PHP
围观tangram js库
2010/12/28 Javascript
Javascript的getYear、getFullYear、getUTCFullYear异同分享
2011/11/30 Javascript
利用JQuery制作符合Web标准的QQ弹出消息
2014/01/14 Javascript
Javascript实现的Map集合工具类完整实例
2015/07/31 Javascript
BootStrap的JS插件之轮播效果案例详解
2016/05/16 Javascript
检查表单元素的值是否为空的实例代码
2016/06/16 Javascript
浅谈js内置对象Math的属性和方法(推荐)
2016/09/19 Javascript
js监听input输入框值的实时变化实例
2017/01/26 Javascript
Ajax验证用户名或昵称是否已被注册
2017/04/05 Javascript
axios中cookie跨域及相关配置示例详解
2017/12/20 Javascript
nodejs实现连接mongodb数据库的方法示例
2018/03/15 NodeJs
jquery实现垂直无限轮播的方法分析
2019/07/16 jQuery
在layui框架中select下拉框监听更改事件的例子
2019/09/20 Javascript
python自动化测试之从命令行运行测试用例with verbosity
2014/09/28 Python
python实现封装得到virustotal扫描结果
2014/10/05 Python
python实现Flappy Bird源码
2018/12/24 Python
Python面向对象之私有属性和私有方法应用案例分析
2019/12/31 Python
安装并免费使用Pycharm专业版(学生/教师)
2020/09/24 Python
如何完美的建立一个python项目
2020/10/09 Python
Python confluent kafka客户端配置kerberos认证流程详解
2020/10/12 Python
Russell Stover巧克力官方网站:美国领先的精美巧克力制造商
2016/11/27 全球购物
Street One瑞士:德国现代时装公司
2019/10/09 全球购物
2015年幼儿园毕业感言
2014/02/12 职场文书
银行办公室岗位职责
2014/03/10 职场文书
央视元宵晚会主持串词
2014/03/25 职场文书
升学宴学生答谢词
2015/01/05 职场文书
团代会开幕词
2015/01/28 职场文书
MySQL普通表如何转换成分区表
2022/05/30 MySQL