我有一个视图,我想使用ajax方法发布数据,但它没有进入视图以打印内容。
我的JavaScript代码:
$("#id").click(aa);
var aa= function() {
var id= $("#id");
$.ajax({
url: "ajax/id",
method: "POST",
data: { user: id, csrfmiddlewaretoken: csrftoken },
context: document.body
}).done(function(data) {
alert("Success");
}).fail(function(returnedText) {
console.log(returnedText.responseText);
});
};
我的Django视图:
def id(request):
print("aa");
users = request.POST['user']
我的网址:
path('/ajax/id', views.id, name='id')
答案 0 :(得分:0)
您可以改为使用请求标头
const Cookies = require('js-cookie');
(($) => {
const csrfSafeMethod = method => /^(GET|HEAD|OPTIONS|TRACE)$/.test(method);
$.ajaxSetup({
beforeSend(xhr, settings) {
if (!csrfSafeMethod(settings.method) && !this.crossDomain) {
xhr.setRequestHeader('X-CSRFToken', Cookies.get('csrftoken'));
}
},
});
})(window.jQuery);
错误是使用url: "/ajax/id",
而不是url:“ ajax / id”,并且直接访问POST字典,id
也是内置函数,请尝试重命名您的函数,以免使内置函数黯然失色。
users = request.POST.get('user')
您的路径不