重定向到根目录不工作
我有一个AJAX请求,POST
s从views.py
下面的视图的网址。重定向到根目录不工作
该视图执行并打印“重定向”,但实际上并没有将用户从当前视图重定向。为什么?
def confirm_user(request):
response_json = {"status": "fail"}
if request.POST:
join_id = request.POST.get('join_id', "")
try:
u = UserProfile.objects.filter(join_id=join_id)[0].user
email = u.username
confirmed = u.userprofile.confirmed
response_json = {
"status": "success",
"confirmed": confirmed,
"email": email }
return HttpResponse(json.dumps(response_json),
mimetype="application/json")
except:
print "redirect"
return redirect('/')
else:
return redirect('/')
当你做一个AJAX请求(即一个JavaScript XMLHTTPRequest
),你的JavaScript代码是用于处理由服务器返回的响应承担全部责任。
如果服务器对您的AJAX请求返回重定向响应,或者确实采取任何操作,浏览器将不会加载新的URL。
处理来自AJAX请求的响应的处理函数可能会查看响应的状态代码,并且如果响应是重定向,则将window.location
设置为提供的URL。如果你发布你的AJAX代码,我们可以建议。
所以我明白你在说什么,但有疑问。如果我在注册时发出AJAX POST请求,并且在注册完成后我想重定向,即使我使用javascript处理重定向,该人是否会登录 – barrigaj
@barrigaj:假设您使用cookie跟踪其登录,是的。 –
这是ajax请求吗? – karthikr
ajax请求发布到加载此视图的url – dielawn1
(并且只是为了确认,是'redirect'' django.shortcuts.redirect'?) –