Всем привет!
Решил вынести все вьюхи, вызываемые посредством ajax, в отдельный файл - ajax.py. После этого все сломалось:(
Теперь при попытке отработать ajax-вьюху, в консоле получаю ошибку 405!
ajax.py
@csrf_exempt
def get_categories_by_type(request):
"""
:param request
:return:
"""
print("DEBUG")
...
response = ...
return HttpResponse(json.dumps(response), content_type="application/json")
urls.py
# Ajax views
...
url(r"^get_categories_by_type/$", get_categories_by_type, name="get_categories_by_type"),
app.js
var csrftoken = $.cookie('csrftoken');
function csrfSafeMethod(method) {
// these HTTP methods do not require CSRF protection
return (/^(GET|HEAD|OPTIONS|TRACE)$/.test(method));
}
$.ajaxSetup({
beforeSend: function(xhr, settings) {
if (!csrfSafeMethod(settings.type) && !this.crossDomain) {
xhr.setRequestHeader("X-CSRFToken", csrftoken);
}
}
});
...
getCategoryList: function() {
var data = {...};
$.ajax({
type: "POST",
url: "/get_categories_by_type/",
data: data,
dataType: "json",
success: function(data) {
...
}
});
},
"POST /get_categories_by_type/ HTTP/1.1" 405 0
Что за НЕХ такой(?