django用jquery的ajax提交表单,中间件的CsrfViewMiddleware问题
来源:互联网 发布:淘宝商城积分兑换 编辑:程序博客网 时间:2024/05/22 15:41
首先要引入jquery文件。
<script src={% static 'jquery/jquery.min.js' %}></script>注意这句是要添加到自己写的jquery脚本前边。
然后写一个简单的表单
<form method="post" id="formadd"> {% csrf_token %} <label for="id_name">用户名</label> <input type="text" id="id_name"/> <label for = "id_password">密码</label> <input type="password" id="id_password"/> <button type="submit" id="submit" >提交</button> </form>
只有一个用户名和密码以及一个提交按钮的的简单表单 注意我这里的form的id是formadd 看起来非常简陋~
然后再添加我们的表单处理的jquery
如果你在settings里边没有注释掉
'django.middleware.csrf.CsrfViewMiddleware',
你的jquery里边需要添加上这句,详情参照自强学堂django ajax csrf
$.ajaxSetup({ data: {csrfmiddlewaretoken: '{{ csrf_token }}' }, });然后整个jquery脚本,这里写的比较就简单主要突出与django的通信
<script src={% static 'jquery/jquery.min.js' %}></script> <script> $(document).ready(function(){ $.ajaxSetup({ data: {csrfmiddlewaretoken: '{{ csrf_token }}' }, }); $('#formadd').submit(function(){ var name = $("#id_name").val(); //获得form中用户输入的name 注意这里的id_name 与你html中的id一致 var password = $("#id_password").val(); //同上 $.ajax({ type:"POST", data: {name:name, password:password}, url: "{% url 'blog:comments_upload' %}", //后台处理函数的url 这里用的是static url 需要与urls.py中的name一致 cache: false, dataType: "html", success: function(result, statues, xml){ alert(result); //成功时弹出view传回来的结果 }, error: function(){ alert("false"); } }); return false; }); }); </script>接下来写我们后端的view.py 中的后端处理函数
def comments_upload(request): if request.method == 'POST': print "it's a test" #用于测试 print request.POST['name'] #测试是否能够接收到前端发来的name字段 print request.POST['password'] #用途同上 return HttpResponse("表单测试成功") #最后返会给前端的数据,如果能在前端弹出框中显示我们就成功了 else: return HttpResponse("<h1>test</h1>")由于有中文所以views.py 开头加上
#coding=utf8最后urls.py中加一条,(注意这是我的app中的urls.py)
url(r'^comments_upload/$', comments_upload, name='comments_upload'),然后fire your server
测试
Starting development server at http://127.0.0.1:8000/Quit the server with CONTROL-C.it's a testtesttestpassword后端console成功打印出我们的name和password字段
其实我们在这个views.py 中可以做许多事情,比如把这个name和password字段进行验证了,或者存入数据库,然后返回一段真正的html代码,局部替换前端的页面,达到异步传输的效果
0 0
- django用jquery的ajax提交表单,中间件的CsrfViewMiddleware问题
- jQuery ajax 提交表单中文乱码的问题
- jquery ajax 提交表单的方式
- jQuery ajax 提交表单数据的方法
- jquery的ajax提交form表单
- ajax表单提交的一些问题
- 关于ajax提交表单的问题
- 关于ajax提交表单的问题
- 关于jquery的ajax提交form表单的域模型问题
- Dwz/Jquery--使用Ajax提交表单时调用表单设置的校验
- 用户登录用表单提交和ajax提交的问题
- jQuery Validation Engine 表单提交时,不验证ajax的问题
- 实现表单的提交通过jquery的ajax
- jQuery+aJax表单提交
- Jquery ajax 表单提交
- jquery ajax 提交表单
- jquery ajax 提交表单
- jquery ajax 提交表单
- Linux 下 inotify+rsync 文件实时同步
- 智慧教学控制系统,控制页面不退出,返回后保证只有一个实例的办法
- popuwindow使用wheel的省市区互联
- 矩阵转置
- Dom操作小实例----非常实用,将数据在两个select之间转移
- django用jquery的ajax提交表单,中间件的CsrfViewMiddleware问题
- 利用DrawerLayout实现侧滑菜单
- Android webview禁止打开系统浏览器
- worktile团队分工
- self.navigationItem.backBarButtonItem 的title设置
- GitHub之接收、处理Pull Request
- 深度思考比勤奋更重要
- 《MFC网络通信》Part 1 简单UDP通信
- .sh脚本语法