Django,Ajax提交csrf_token处理

Ajax提交数据时候,携带CSRF:
a. 放置在data中携带

<form method="POST" action="/csrf1.html">
    {% csrf_token %}
    <input id="user" type="text" name="user" />
    <input type="submit" value="提交"/>
    <a onclick="submitForm();">Ajax提交</a>
</form>
<script src="/static/jquery-1.12.4.js"></script>
<script>
    function submitForm(){
        var csrf = $(‘input[name="csrfmiddlewaretoken"]‘).val();
        var user = $(‘#user‘).val();
        $.ajax({
            url: ‘/csrf1.html‘,
            type: ‘POST‘,
            data: { "user":user,‘csrfmiddlewaretoken‘: csrf},
            success:function(arg){
                console.log(arg);
            }
        })
    }

</script>

b. 放在请求头中

<form method="POST" action="/csrf1.html">
    {% csrf_token %}
    <input id="user" type="text" name="user" />
    <input type="submit" value="提交"/>
    <a onclick="submitForm();">Ajax提交</a>
</form>
<script src="/static/jquery-1.12.4.js"></script>
<script src="/static/jquery.cookie.js"></script>

<script>
    function submitForm(){
        var token = $.cookie(‘csrftoken‘);
        var user = $(‘#user‘).val();
        $.ajax({
            url: ‘/csrf1.html‘,
            type: ‘POST‘,
            headers:{‘X-CSRFToken‘: token},
            data: { "user":user},
            success:function(arg){
                console.log(arg);
            }
        })
    }
</script>

原文地址:https://www.cnblogs.com/oldpai/p/9637774.html

时间: 2024-10-21 06:44:42

Django,Ajax提交csrf_token处理的相关文章

django ajax提交避免csrf错误的方法

使用django 防御csrf功能时,ajax提交表单 {{ csrf_token }}加入到data里面,可避免csrf错误.位置如下红色标注: $.ajax({    :,    :{:.,},    :,    :(callback){       callback = jQuery.parseJSON(callback);       (callback.> ){          .()          .(callback[].);          =callback[].- .

django 用jquery ajax提交form 实现刷新部分页面

首先要引入jquery文件,可以引入在线的,也可以下载离线的 添加进自己staticfiles 这里演示的是添加离线的 <script src={% static 'jquery/jquery.min.js' %}></script> 注意这句是要添加到自己写的jquery脚本前边 然后写一个简单的表单 <form method="post" id="formadd"> {% csrf_token %} <label for

Django Form组件实例:登录界面[Form表单提交,Ajax提交]

"""本例中使用Form和Ajax进行了数据提交,Form提交有一个问题,就是输入错误的数据,刷新之后原有的数据会丢失.注意到Form组件可以生成HTML标签,将Form生成的对象传到前端,就可以保留原有的内容,具体见下文:""" 1 from django.shortcuts import * 2 from app02 import models 3 import json 4 5 # Create your views here. 6 def

django之Form组件--ajax提交

如果想要ajax提交数据到django后台,对页面进行跳转,需要在ajax 中进行跳转,在后台进行跳转不生效 示例代码 views部分 rom django.shortcuts import render, redirect, HttpResponse # Create your views here. from day60app.form_cls import AForm import json from django.forms.utils import ErrorDict def ajax

django form的提交 --比较ajax提交与form submit提交

form submit方式可以实现提交,错误信息显示,原填写内容再次返回给页面. 或者取已有信息,填充form 2 ajax提交后端需要json.dumps包装为json.前端需要设置datatype后端通过Httpresponse返回给json,通过json跳转. 页面 原文地址:http://blog.51cto.com/13606158/2087864

django的ajax提交示例

两条路由: path('ajax_submit/', views.ajax_submit), path('add/', views.add), 在模版文件夹里写出html,add.html def add(request): return render(request, 'add.html') def ajax_submit(request): print(request.method) u = request.GET.get('username', None) p = request.GET.

Django ajax MYSQL Highcharts&lt;1&gt;

Another small project with django/Ajax/Mysql/Highcharts. 看下效果图  - delivery dashboard .嘿嘿 是不是还蛮好看的. 废话不多说.在过程中遇到的问题总结: 1. Ajax URL 请求403 错误: 是由于CSRF(Cross-site request forgery跨站请求伪造请求保护)的原因.目前有三种方法 1.1 我使用的是@csrf_exempt加在相应的view前,但是这样不安全,是关闭csrf保护功能.

django+ajax实现在线聊天室

django+ajax实现在线聊天室 小项目中的一个,就是简单的聊天室 需求: 注册登陆之后才能发言 初始在聊天框中展示最近的消息 发送消息使用ajax,在后台完成消息的存储 使用轮循不断请求get新消息展示在聊天框中 Models 设计聊天消息主题的结构: class Chat(models.Model): sender = models.ForeignKey(User, related_name='has_chats') content = models.TextField() time =

Django——Ajax相关

Ajax简介 AJAX(Asynchronous Javascript And XML)翻译成中文就是“异步Javascript和XML”.即使用Javascript语言与服务器进行异步交互,传输的数据为XML(当然,传输的数据不只是XML,现在更多使用json数据). 同步交互:客户端发出一个请求后,需要等待服务器响应结束后,才能发出第二个请求: 异步交互:客户端发出一个请求后,无需等待服务器响应结束,就可以发出第二个请求.AJAX除了异步的特点外,还有一个就是:浏览器页面局部刷新:(这一特点