我試圖通過的「這個」對象的ID從Ajax調用Django的看法,但我得到我的broswer以下錯誤:下面的ajax代碼有什麼問題?
因爲我是初學者都Django和AJAX是這就是代碼中可能存在錯誤的原因。
這裏是我的代碼:
views.py
from django.shortcuts import render
from librarysystem.models import Users
from django.http import JsonResponse
def index(request):
template = 'librarysystem/Elib.html'
return render(request,template)
def validateForm(request, id):
data = {
'isTaken' : Users.objects.filter(username__iexact=request.GET.get(id,None)).exists(),
#'emailidTaken' : Users.objects.filter(emailid__iexact=emailid).exists(),
}
return JsonResponse(data)
urls.py
from django.conf.urls import url
from .import views
urlpatterns = [
url(r'^registered/$',views.create_user),
url(r'^$', views.index, name="Index"),
url(r'^validate(?P<id>)/$',views.validateForm),
#url(r'^article/$', views.Article, name="Article"),
]
Ajax代碼:
<script type="text/javascript">
function validateForm() {
//var emailid = $('#emailid').val() ;
$.ajax({
url: '/librarysystem/validate/this.id/',
data: {
'this.id': this.value,
//'emailid': emailid,
},
dataType: 'json',
success: function(data){
if (data.isTaken){
$('#error').html(this.id + ' Already taken.').css('color','red');
}else
$('#error').html('');
}
}) ;
}
$(document).ready(function() {
$('#retrypassword').keyup(checkPasswordMatch);
$("#username, #emailid, #password, #retrypassword").keyup(validateForm);
});
</script>
感謝您友好回覆:)
該URL可能不存在。我假設。 –
/librarysystem/validate/this.id/? this.id看起來應該被替換爲一個真正的ID值? –
正如我在其他問題中所說的,您需要了解如何使用瀏覽器工具來查看實際錯誤。在這種情況下,雖然很明顯,正如axel指出的那樣。 –