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");
}
}
})

浙公网安备 33010602011771号