最近的Django版本要求將csrf_token與每個POST請求一起發送(無論是通過AJAX還是通過正常請求)。如何做ajaxSetup before發送像DOJO工具箱中的東西,以在DOJO AJAX POST中提供CSRF令牌
他們認爲,Django的,現在將接受自定義HTTP標頭X-CSRFTOKEN的CSRF令牌,以及在表單提交本身的易用性與流行的JavaScript工具包,允許插入自定義標題到所有的AJAX請求。
他們舉一個例子jQuery中
$.ajaxSetup({
beforeSend: function(xhr, settings) {
if (!(/^http:.*/.test(settings.url) || /^https:.*/.test(settings.url))) {
// Only send the token to relative URLs i.e. locally.
xhr.setRequestHeader("X-CSRFToken",
$("#csrfmiddlewaretoken").val());
}
}
});
要做到這一點,我無法弄清楚如何做Dojo Toolkit的類似的東西。 我一直在使用dojo.rpc.JsonService()。
請提出一個在DOJO做類似的工作嗎?
或者唯一的選擇是對每個xhrPost請求單獨做這件事?