【发布时间】:2014-10-02 16:55:25
【问题描述】:
我是 Django 和 AJAX (javascript) 的新手。 最后,我可以将一些参数发送到 django 视图。此视图呈现一个编辑表单。 我用我需要的信息发送参数和视图响应表单,但我无法重定向到从视图呈现的表单。 AJAX 函数:
$.ajax({
type:"GET",
url: "/recepcion/",
datatype: 'json',
data: ({i: idpro[0].innerHTML, a: ano[1].innerHTML, m: mes1[2].innerHTML }),
success: function(data){
window.location.href = data.redirect;
//window.open("GET",url,true)
}
});
django 视图:
def RecepcionView(request):
idp = request.GET.get('i')
anio = request.GET.get('a')
mes = request.GET.get('m')
if request.method == 'POST':
r = DetalleRecepcion.objects.get(id_proveedor=idp,anio=anio,mes=mes)
form = RecepcionForm(request.POST, instance=r)
if form.is_valid():
form.save()
return HttpResponseRedirect('/monitor/')
else:
r = DetalleRecepcion.objects.get(id_proveedor=idp,anio=anio,mes=mes)
form = RecepcionForm(instance=r)
return render_to_response('recepcion.html',
{'form':form},
context_instance=RequestContext(request))
在萤火虫控制台中,我可以看到响应,并且是包含我需要的信息的表单。 我不知道如何从响应重定向到页面,我不确定是否必须在 django 视图中添加一些重定向功能或仅在 ajax 成功功能中添加一些重定向功能。 我对这两种语言真的很陌生,我很困惑错误在哪里。
提前致谢
【问题讨论】:
-
如果要重定向,为什么还要使用 Ajax?为什么不直接使用标准表单并从那里返回重定向?
-
我没有从表单发送参数。我有一个带有下拉按钮的 html 表格,有几个选择。当用户单击选项设置时,我会采用三个值 Id、年份和月份并将其传递给视图。我用一个简单的表单测试我的视图并且工作正常并且重定向到他编辑表单没有任何问题。问题是当我尝试从函数重定向时。
标签: javascript jquery python ajax django