データベースを照会して、ユーザーが入力したユーザー名が既にデータベースに入っているかどうかを調べようとしています。はいの場合は、「already exist!」というメッセージが表示されます。代わりに、メッセージを表示するので、私は自分のブラウザに次のエラーが表示されます。私は、データベース内のユーザー名「ahti」を格納している次のjqueryコードはなぜ機能しないのですか?
。
urls.py
from django.conf.urls import url
from .import views
urlpatterns = [
url(r'^$', views.index, name="Index"),
url(r'^validate/$',views.validateForm),
]
views.py
from django.shortcuts import render
from librarysystem.models import Users
from django.http import JsonResponse
def validateForm(request):
username = request.GET.get('username',None)
data = {
'is_taken' : Users.objects.filter(username__iexact=username)
}
return JsonResponse(data)
私のjqueryのコード:
function validateForm() {
var username = $('#username').val();
$.ajax({
url: '/librarysystem/validate/',
data: {
'username': username
},
dataType: 'json',
success: function(data) {
if (data.is_taken) {
alert("already taken!");
}
}
});
}
$(document).ready(function() {
$("#username").keyup(validateForm);
});
ジャンゴ・サーバ・ログにトレースバックはありますか?質問があれば追加してください。 – snakecharmerb
問題は、jQueryが到達しようとするurl 'localhost:8000/librarysystem/validate /?username = a'です。つまり、サーバー側のエラーです。あなたのdjangoサーバーのログをチェックする必要があります。 – Arount
なぜ私は2回警告メッセージを受け取るのですか? – Ahtisham