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

0 人关注

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

我想限制搜索在页面上返回的结果数量,所以当查询集非常大时,用户应该点击 "查看所有结果",而不是在搜索框中出现大量的结果。

我试图通过在下面添加一个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 class="col-10">
                <h5>See all results for "${quote}"</h5>
`           `
    
2 个评论
请注意,要检索一个数据,最好使用 GET ,为什么要用 POST
一旦我检索到了数据,我就想把它发布到一个新的页面上。
javascript
python
django
ajax
M. Phys
M. Phys
发布于 2022-04-07
1 个回答
artoonie
artoonie
发布于 2022-04-07
已采纳
0 人赞同

你将整个表单包裹在 href 中,你可能只想让 See all results 成为链接?

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 class="col-10">
                   <a href="${url} ${'results'}" class="item">
                      See all results for "${quote}"