我想測試一些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)也涵蓋了這一點。 –