首页 > 解决方案 > 如何将html文件中的javascript数组传递给django中的另一个html文件并重定向到新的html文件

问题描述

 var resulttable = "<table border=1>";
    resulttable += "<tr>";
        resulttable += "<th>"+heading1+"</th>";
        resulttable += "<th>"+heading2+"</th>";
        resulttable += "<th>"+heading3+"</th>";
        resulttable += "<th>"+heading4+"</th>";
    resulttable += "</tr>";
    for(var i=0; i<angles.length; i++) {
        resulttable += "<tr>";
            resulttable += "<td>"+angles[i]+"</td>";
            resulttable += "<td>"+expert_angle[i]+"</td>";
            resulttable += "<td>"+user_angle[i]+"</td>";
            resulttable += "<td>"+diff[i]+"</td>";

        resulttable += "</tr>";
    }

以上是 html 文件中的 javascript 字符串。我想将此字符串传递给另一个 html 文件并将其内容显示给用户。我无法在当前页面中显示它,因为它已经有很多内容。我想知道如何将 javascript 数组传递给另一个文件,以及如何在传递字符串后重定向到新的 html 文件

任何帮助将不胜感激,并提前感谢

标签: javascriptpythondjangodjango-viewsdjango-templates

解决方案


我有一个想法,但它是一个想法!使用 AJAX 或任何其他工具发送这个 js 数组,但就像一个带有一个输入文本字段的表单到后端,发送到该函数内的 views.py 函数,您可以获取文本,然后再次将其传递给新的 html文件和渲染。

<form id="js-table-form" method="post"  action="{% url 'js-table' %}" >
     <input type="hidden" id="js-table-holder" name="tablejs" />
</form>
<a href="javascript:{}" id="js-form-submit" > click here! </a>
<script>
    $("#js-form-submit").on('click', function (){
        $("#js-table-holder").val(" here must be your table data ");
        $("#js-table-form").send();
   });
</script>

在 urls.py -> urlpatterns 中:

path('js-table', views.js_table, name="js-table")

在views.py中:

def js_table(request):
    table = str()
    if request.method == 'POST':
         table = request.POST.get('tablejs') # the hidden inputs name attribute value!
    return render (request, "table_page.html", {"table": table})

在 table_page.html 中:

{{ table|safe }}

您可以分别在输入字段中捕获表格的每个部分,然后在最后一个模板中再次部分重建表格


推荐阅读