我正在使用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/
任何线索?
答案 0 :(得分:1)
你的问题是围绕" {%url teacher-signup%}" 的双引号 这导致在渲染期间忽略它。你的Django模板中有脚本吗?
你实际上应该可以在它周围使用单引号,它应该像你期望的那样渲染
url: '{% url teacher-signup %}',
答案 1 :(得分:0)
您必须解码网址,以便正确表示空格和参数。使用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_шеллы"
答案 2 :(得分:0)
这是我使用的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))