我有以下表格,用于重定向用户搜索特定日期。
<form action="/datesearch/" method="get" id="goto_date_form" style="display:none;">
<input name="dt" type="text" />
<input type="hidden" name="csrfmiddlewaretoken" value="[my csrf token value]">
</form>
使用$('#goto_date_form').submit();
调用此表单时,它会重定向页面,但它会显示dt的值和csrfmiddlewaretoken的值作为URI变量。
即。在搜索2016-07-06时,它会重定向到
`http://localhost:8000/datesearch/?dt=2016-07-06&csrfmiddlewaretoken=[my csrf token value]`
如何让它停止显示csrf令牌?
答案 0 :(得分:2)
只需将method="get"
更改为method="post"
(也可以将后端更改为
答案 1 :(得分:2)
在表单中使用GET时,表单中的所有数据都放在URI中。如果您将表单更改为使用POST,则数据将放在请求正文中 - 在URI中不可见(但如果用户决定查看请求详细信息,则仍然可供用户看到)。
注意如果从GET更改为POST,则可能必须在服务器端代码中进行一些更改,具体取决于您用于获取数据的方法。
答案 2 :(得分:1)
在表单标记中使用method="post"
以防止数据在URL中传递