我想测试一些AJAX请求到我的Django站点,但服务器不认为来自我的测试工具的请求是AJAX请求。我需要设置什么HTTP头?为Django设置AJAX请求标头
服务器代码有这样一个测试:
# in myapp/ajax.py
def my_request(request, some_id):
if request.is_ajax():
return json.dumps([some_id, 'processed for AJAX'])
# some other processing, or an error
我使用Postman送我的AJAX请求,我已经学会了Accept
头设置为application/json
,但什么头做我设置以表明这是一个AJAX请求?
在Django的代码,我发现了测试方法:
def is_ajax(self):
return self.META.get('HTTP_X_REQUESTED_WITH') == 'XMLHttpRequest'
当我HTTP_X_REQUESTED_WITH
头设置为XMLHttpRequest
,测试仍然失败。
感谢您的提醒。 [Django文档](https://docs.djangoproject.com/en/1.8/ref/csrf/#ajax)也涵盖了这一点。 –