我想使用AJAX发送一个非常基本的发布请求到相同的URL。它应该取用户名,并根据数据库检查它是否已经存在,并返回一个字符串。也有一些是错的发送请求的JavaScript函数:使用jQuery发送AJAX请求到服务器
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什么都没发现。
可能重复http://stackoverflow.com/questions/6762010/get-return-undefined- value-out-function) – Quentin
那又是什么:'$(“username”).value'?应该是'$('#username')。val()'或'$('。username')。val()'等。 – dfsq
Chris,基本上有两个错误:您正在关闭$ .post语句有点过早了,而且回应必须与'真'相比。在下面检查我的答案。就这样! –