我需要知道如何在Django中通过Ajax启动会话。我完全按照下面所描述的那样做,但它不起作用!请求已正确发送,但不会启动任何会话。如果一个请求直接没有ajax它的工作原理!发生了什么事?
'#urls
r'^logout/$', 'autenticacao.views.logout_view'
'#登录视图
def login_view(request):
username = request.GET.get('username', '')
password = request.GET.get('password', '')
user = authenticate(username=username, password=password)
if user is not None:
if user.is_active:
login(request, user)
return HttpResponse(user.get_profile().sos_user.name)
return HttpResponse('user invalido')
'html页面中的#ajax
$(function(){
$.get('http://localhost:8000/logout/?username=usuario?>&password=senha', function(data){
alert(data);
});
答案 0 :(得分:1)
你没有打电话给login_view
。你是ajax请求转到调用/logout/
的{{1}}网址。
此外,autenticacao.views.logout_view
之后的?>
在您的获取网址中看起来不正确。
我的猜测是你应该做username=usuario
之类的事情。 (但我需要看到你的登录URL映射以确定)。
此外,出于安全考虑,您应该http://localhost:8000/login/?username=usuario&password=senha
登录信息并使用POST
,但这是一个不同的问题。