我想使用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語句有點過早了,而且迴應必須與'真'相比。在下面檢查我的答案。就這樣! –