Django中的request.is_ajax()

  

def is_ajax(self):
return self.META.get('HTTP_X_REQUESTED_WITH') == 'XMLHttpRequest'

is_ajax()会判断请求头里 'HTTP_X_REQUESTED_WITH'的值。如果请求方式不为ajax,那么请求头里是不含'HTTP_X_REQUESTED_WITH'的。如果是ajax请求,is_ajax()则会返
回True.

前端代码:
 
$.ajax({
url: '/app2/host/', // url一定要写成相对路径
type: 'POST',

data: {'choice':del}, // data中的参数如果含有特殊字符,如'-' '%' '$' 等会导致ajax传到后端的数据携带随机特殊字符!!!!

complete: function () {
console.log('aaa')
},

success: function (data) {
if(data === 'success')
console.log(data)
}
})

后端代码:
  
def host(request):

if request.is_ajax():
print('get ajax')
if request.POST.get('choice', None):
choice = request.POST.get('choice')
print(choice)
return HttpResponse('success')
else:
return HttpResponse('failed')

posted on 2018-09-14 08:21  Scrap  阅读(3385)  评论(0)    收藏  举报

导航