Javascript 将ajax响应传递给django模板

Javascript 将ajax响应传递给django模板,javascript,python,ajax,django,Javascript,Python,Ajax,Django,我正在学习一起使用javascript、ajax、python和django 在我的项目中,用户从下拉列表中选择一种语言。然后,所选数据将发送回服务器。然后服务器将响应发送回django模板。这是由javascript完成的。在django模板中,我需要响应(例如德语)来更新html代码。如何将响应传递给html代码。反应可以在……的范围内看到 如何在不重新加载html页面的情况下执行此操作 谢谢。因为您的模板是在服务器上呈现的,所以最好只需重新加载页面(使用新选择的语言重新呈现页面) 使用aj

我正在学习一起使用javascript、ajax、python和django

在我的项目中,用户从下拉列表中选择一种语言。然后,所选数据将发送回服务器。然后服务器将响应发送回django模板。这是由javascript完成的。在django模板中,我需要响应(例如德语)来更新html代码。如何将响应传递给html代码。反应可以在……的范围内看到

如何在不重新加载html页面的情况下执行此操作


谢谢。

因为您的模板是在服务器上呈现的,所以最好只需重新加载页面(使用新选择的语言重新呈现页面)

使用ajax的另一种方法是将语言存储在cookie中,这样您就不必维护客户端的状态。无论如何,重新加载仍然是必要的


您可以研究客户端模板。是一个很好的选择。

因为模板是在服务器上呈现的,所以最好只需重新加载页面(使用新选择的语言重新呈现页面)

使用ajax的另一种方法是将语言存储在cookie中,这样您就不必维护客户端的状态。无论如何,重新加载仍然是必要的


您可以研究客户端模板。是一个不错的选择。

您可以使用jquery发送ajax请求,服务器可以发送带有html内容的响应。 比如说,

服务器:当服务器收到ajax请求时。这将返回html内容,即可以通过ajax呈现给客户端的模板

def update_html_on_client(request):
    language = request.GET.get('language', None)
    #for selected language do something
    cal_1 = ...
    return render_to_response('my_template.html', {'cal':cal_1}, content_instance = template.RequestContent(request))
模板:这是用于生成ajax请求的ajax函数的示例。您可以选择可以填充服务器返回的html响应的div

function getServerResponse(){
$.ajax({
  url: 'your_url_here',
  data: {language:'German'},
  dataType:'html'
  success : function(data, status, xhr){
               $('#server_response').html(data);
             }
});
}

您可以使用jquery发送ajax请求,服务器可以发送带有html内容的响应。 比如说,

服务器:当服务器收到ajax请求时。这将返回html内容,即可以通过ajax呈现给客户端的模板

def update_html_on_client(request):
    language = request.GET.get('language', None)
    #for selected language do something
    cal_1 = ...
    return render_to_response('my_template.html', {'cal':cal_1}, content_instance = template.RequestContent(request))
模板:这是用于生成ajax请求的ajax函数的示例。您可以选择可以填充服务器返回的html响应的div

function getServerResponse(){
$.ajax({
  url: 'your_url_here',
  data: {language:'German'},
  dataType:'html'
  success : function(data, status, xhr){
               $('#server_response').html(data);
             }
});
}