ajax处理csrf的三种方式
作者:互联网
方式一:模板语法 注:实际测试中页面 csrftoken 和 csrfmiddlewaretoken两个值都有
$.ajax({ url: '/get_result/', data: { value0: $('#v1').val(), value1: $('#v2').val(), csrfmiddlewaretoken: '{{ csrf_token }}' }, success: function (data) { if (data) { $('#v3').val(data); swal("操作成功!", "成功算出结果","success"); } })
方式二:标签取值 注:实际测试中页面 csrftoken 和 csrfmiddlewaretoken两个值都有
{% csrf_token %} <input type="text" id="v1"> + <input type="text" id="v2"> = <input type="text" id="v3"> <p><input type="submit" value="提交" id="smt"></p>
$.ajax({ url: '/get_result/', data: { value0: $('#v1').val(), value1: $('#v2').val(), csrfmiddlewaretoken:$('[name="csrfmiddlewaretoken"]').val() }, success: function (data) { if (data) { $('#v3').val(data); swal("操作成功!", "成功算出结果", "success"); } } })
方式三:js插件 注:实际测试中页面只有 csrftoken 值
<script src="https://cdn.bootcss.com/jquery-cookie/1.4.1/jquery.cookie.min.js"></script> $.ajax({ url: '/get_result/', headers:{'X-CSRFToken':$.cookie('csrftoken')}, data: { value0: $('#v1').val(), value1: $('#v2').val() }, success: function (data) { if (data) { $('#v3').val(data); swal("操作成功!", "成功算出结果", "success"); } } })
标签:val,success,ajax,三种,csrf,csrftoken,csrfmiddlewaretoken,data 来源: https://www.cnblogs.com/ericyjchung/p/16200313.html