如何在点击时创建 Django / Ajax 重定向 POST 请求?

How do I create a Django / Ajax redirect POST request on click?

我使用 ajax 在我的 django 应用程序中有一个搜索功能。它显示模型的所有结果。

虽然我想限制页面上搜索 returns 的结果数量,因此当查询集太大时,用户应该单击 'see all results',而不是有一堆结果在搜索框中。

我试图通过在下面添加一个 HTML 表单来实现这一点,但是当我点击 href 时,它正在创建一个 GET 请求。我不完全确定我需要在这里修复什么才能将数据传递给视图并呈现新页面。

resultsBox.innerHTML += `
    <a href="${url} ${'results'}" class="item">
        <form method="POST" class="post-form" input type="submit"
            {% csrf_token %}
            <action="${url} ${'results'}">
        </form>
        <div class="row mt-2 mb-2">
            <div class="col-2">
                img placeholder
            </div>
            <div class="col-10">
                <h5>See all results for "${quote}"</h5>
            </div>
        </div>
    </a>
`           `

您将整个表格包装在 href 中,您可能只想 See all results 成为 link?

resultsBox.innerHTML += `
    
        <form method="POST" class="post-form" input type="submit"
            {% csrf_token %}
            <action="${url} ${'results'}">
        </form>
        <div class="row mt-2 mb-2">
            <div class="col-2">
                img placeholder
            </div>
            <div class="col-10">
                 <h5>
                   <a href="${url} ${'results'}" class="item">
                      See all results for "${quote}"
                   </a>
                 </h5>
            </div>
        </div>`

或者(如以下评论中所述):为了避免 GET 而使用 POST,您想要提交表单,而不是遵循 hyperlink:How to submit a form with JavaScript by clicking a link?