以下ajax代码有什么问题?

我试图将’this’对象的id从ajax调用传递到django视图,但是我的broswer中出现以下错误:

404错误

因为我是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)/$',views.validateForm), #url(r'^article/$', views.Article, name="Article"), ] 

ajax代码:

  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); });  

谢谢你的回复:)

问题是它没有找到位置..有时它可能导致偶数路径是正确的但端口不是…

例如:如果你正在使用localhost:8080,但它在localhost:8000中的发现我最近有这个问题,然后我在我的项目中更改了属性文件。

附带的屏幕截图给出了明确的答案,找不到请求的URL(错误404)。 正如我在上面的评论中提到的,这是因为您使用了一个简单的字符串作为AJAY URL: '/librarysystem/validate/this.id/'而不是连接url的静态和动态部分:

 $.ajax({ url: '/librarysystem/validate/' + this.value + '/', // the rest of your code.... data: {} }); 

但是从我在你的代码示例中看到的这可能不是唯一的问题 – 在你给定的代码中没有引用’ this.value