【发布时间】:2012-01-03 15:48:26
【问题描述】:
我想使用 AJAX 向同一个 url 发送一个非常基本的发布请求。它应该获取用户名并根据数据库检查它以查看是否已经存在具有该名称的用户,并返回一个字符串。发送请求的 javascript 函数有问题:
function usernameCheck(){
$.post("http://omnicloud.me/signup",
{username: $("#username").value},
function(response){
if(response=="true"){
$('#passAlert').innerHTML("Sorry, that username is already taken")
}
});
return !($('#passAlert').value == "Sorry, that username is already taken")
}
如果这个人只是加载注册视图,它会返回页面,否则,它会被调用来检查用户是否存在:
def signup(request):
if request.method == 'GET':
return render_to_response('signup.html', context_instance=RequestContext(request))
else:
#query db for user with username provided in POST, return if it exists
user = User.objects.get(username=request.POST["username"])
if user is not None:
return HttpResponse("true")
else:
return HttpResponse("false")
你能看出为什么 JS 被忽略了吗? Firebug 什么也没找到。
【问题讨论】:
-
此外那是什么:
$("username").value?应该是$('#username').val()或$('.username').val()等。 -
克里斯,基本上有两个错误:您关闭 $.post 语句有点过早,响应必须与“真”进行比较。在下面检查我的答案。就是这样!
标签: javascript jquery ajax django