【问题标题】:Django: ajax request url is not workingDjango:ajax 请求 url 不起作用
【发布时间】:2014-05-03 14:27:22
【问题描述】:

我正在使用 Django 1.3 并向具有以下 url 模式的视图发出 ajax 请求:

我当前发出请求的网址/add/

url(r'^university/teacher/signup/$', 'uninversity.views.signup', name='teacher-signup'),

将ajax请求作为

       $.ajax({
                type: "POST",
                url: "{% url teacher-signup %}",
         });                  

即将到来的

/add/%7B%%20url%20'teacher-signup'%20%%7D

而不是

university/teacher/signup/

有什么线索吗?

【问题讨论】:

    标签: jquery ajax django


    【解决方案1】:

    你的问题是 "{% url teacher-signup %}" 周围的双引号 这导致它在渲染期间被忽略。你的 Django 模板中有你的脚本吗?

    您实际上应该能够在它周围使用单引号,并且它应该像您期望的那样呈现

    url: '{% url teacher-signup %}',
    

    【讨论】:

      【解决方案2】:

      您必须对 url 进行解码,以便正确表示空格和参数。使用decodeURI:

       $.ajax({
              type: "POST",
              url: decodeURI('{% url teacher-signup %}'),
       }); 
      

      例子:

      decodeURI("https://developer.mozilla.org/ru/docs/JavaScript_%D1%88%D0%B5%D0%BB%D0%BB%D1%8B");
      // "https://developer.mozilla.org/ru/docs/JavaScript_шеллы"
      

      【讨论】:

        【解决方案3】:

        这是我使用的ajax调用,我总是这样放url,也许这对你有帮助。

                    $.ajax({
                        url: "/BusquedaCIE10",
                        type: "POST",
                        dataType: "json",
                        data: {
                            grupname: idgrupo,
                            csrfmiddlewaretoken: '{{ csrf_token }}'
                        },
        

        url.py

              url(r'^BusquedaCIE10','expmedico.views.ciesearch'),
        

        views.py

        def ciesearch(request):
            if request.POST.has_key('idgrupo') and request.is_ajax():
                x = request.POST['idgrupo']
                y = cie_10.objects.filter(id=x)
                miembroinf = serializers.serialize('json', y)
                return HttpResponse(miembroinf, mimetype="application/json")
            else:
                return render_to_response('csb.html', context_instance=RequestContext(request))
        

        【讨论】:

          猜你喜欢
          • 2012-11-29
          • 2017-07-31
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-12-17
          • 2014-01-07
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多