Недавние выпуски Django требуют, чтобы csrf_token отправлялся вместе с каждым запросом POST (либо через AJAX, либо через обычный запрос).
Исправлена ошибка в обработке CSRF.
Они предполагают, что Django теперь будет принимать токен CSRF в настраиваемом заголовке HTTP X-CSRFTOKEN, а также в самой отправке формы, для простоты использования с популярными наборами инструментов 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.
Я использую dojo.rpc.JsonService () некоторое время.
Пожалуйста, предложите способ сделать что-то подобное в DOJO?
Или единственный вариант - сделать это для каждого запроса xhrPost отдельно?