Django csrf跨站请求伪造
方式一:(一般不用)
$.ajaxSetup({
data: {csrfmiddlewaretoken: '{{ csrf_token }}' },
});
方式二:
$("button").click(function () {
$.ajax({
url: "/ajax/",
type:'POST',
data: {
"username": "Django",
"csrfmiddlewaretoken": $("[name='csrfmiddlewaretoken']").val()
},
success: function (data) {
alert(data)
}
})
});
解析:
def ajax(request):
import json
username = request.POST.get('username')
print(username)
return HttpResponse(json.dumps("hello"))
方式三:
当传输的数据是json格式时使用第三种
$("button").on('click',function () {
$.ajax({
url:'/ajax',
type:'type',
data:JSON.stringify({
name:"wu",
pwd:"pwd123"
}),
contentType:"application/json",
headers:{"X-CSRFToken":$('[name="csrfmiddlewaretoken"]').val()}
})
})
解析:
def ajax(request):
import json
data = json.loads(request.body)
print(data.get('name'))
print(data.get('pwd'))
return HttpResponse(json.dumps("hello"))

浙公网安备 33010602011771号