【发布时间】:2019-04-22 06:05:29
【问题描述】:
我正在学习使用 Django 进行网络编程。目前我正在尝试建立一个网页,用户可以更新他们的用户资料(如电子邮件、昵称)。我正在使用 ajax 来处理这些数据。但是我刚想出了一个问题,我怎样才能得到详细的 ajax 错误信息?
例如,用户想要更新他的昵称或电子邮件,但他发布的昵称或电子邮件已经存在于数据库中。在 ajax 中,我使用error:function (XMLHttpRequest, textStatus, errorThrown) {} 来获取错误信息。但我只是得到类似“500 内部服务器错误”的信息。但是,在浏览器控制台中,我可以看到“昵称”或“电子邮件”是否重复。所以我想知道如何才能知道哪个是重复的?
我的 view.py 是:
@login_required
def edit_usr_profile(request):
user = request.user
objs = UserProfile.objects.filter(usr=user)
usr_objs = UserProfile.objects.get(usr=user)
if request.method == 'POST':
if request.is_ajax():
usr_objs.nickname = request.POST.get('nickname')
usr_objs.email = request.POST.get('email')
usr_objs.save()
return render(request, 'account/edit_profile.html', {'objs':objs})
我的 ajax 代码是:
$.ajax({
type:'POST',
url:'./',
data:{
async: false,
nickname:usr_nickname,
email:usr_email,
csrfmiddlewaretoken:$('input[name=csrfmiddlewaretoken]').val()
},
success:function () {
alert('New profile saved!')
//window.location.reload()
},
error:function (XMLHttpRequest, textStatus, errorThrown) {
alert('Error! Please check your entry and try again!')
}
})
如果你能帮助我,我将不胜感激!
【问题讨论】: