即使日志显示调用

问题描述

我的django应用程序中有两个页面。
(这是我的第一个django应用程序,也是JavaScript的新手。)

首页-每行都有一个复选框和一个编辑按钮的表格
第二页-带保存按钮的输入屏幕

问题:我正在尝试获取第一页到第二页的行ID列表

到目前为止: 在“编辑”按钮的OnClick事件中,我收集了数组中选定行的所有ID。

我使用$ .ajax调用通过POST将这个数组发送到第二页。

    $.ajax({
        url: '/secondpage/',type: 'POST',headers: { "X-CSRFToken": csrftoken,'Accept': 'application/json','Content-Type': 'application/json' },data: {'idsList': JSON.stringify(selectedIds)},success: function (response) {
            console.log('success');
        },error: function (xhr,ajaxOptions,thrownError) {
            alert("ERROR " + xhr.status + " - " + thrownError);
        }                        
      });

当我单击“编辑”按钮时,在第一页中选择了一些行后,
我在django日志中看到以下条目
[13/Aug/2020 14:36:14] "POST /secondpage/ HTTP/1.1" 200 41403
但第二页无法加载。我仍然在浏览器中看到第一页。

在开发环境中。工具我将“成功”作为最后的控制台消息。

我想念什么?有人可以帮我吗?
预先感谢。

忘记在初始帖子中添加此内容:

def secondpage(request):

    idsList = request.POST.getlist('idsList[]')

    return render(request,"secondpage.html",{'listIds': idsList})

解决方法

您刚刚向secondpage/发送了ajax调用。没有什么可以告诉它要加载到浏览器中的。您需要执行以下几种选择之一:

  1. 从POST响应中获取结果,并将该结果适当地加载到“ pageone”中

  2. 将用户重定向到/secondpage/some/variable/values,让def secondpage()进行计算,然后呈现secondpage.html

在OP EDIT之后更新:

您没有正确使用ajax。使用ajax,您将停留在当前页面(URL)上。它熄灭并从后端(服务器)获取一些值,并更新它当前所在的页面。您正在做的是将请求发送到新视图。它会返回一个您没有做任何事情的完整网页。

您可能只想使用一种形式:

<form action="/secondpage" method="POST">
    <input type="checkbox" id="vehicle2" name="vehicle2" value="Car" />
    ....
    <input type="submit" value="go to page 2" />
</form>

然后将检查的值组合到视图的列表中。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...