为什么“?an=a”会添加到我的 URL 的 GET 后面?
Why does "?a=a" get added to the back of my URL on GET?
我使用带有 action="/sact/${searchp}/"
的 post GET 请求来提交用户搜索查询。
var searchp = search.querySelector("input.search-input").value;
// returns the normal value
document.body.innerHTML += `<form id="jsForm" action="/sact/${search}/" method="GET"><input type="hidden" name="a" value="a"></form>`;
document.getElementById("jsForm").submit();
这里重定向:
router.get('/sact/:where', async (req, res, next) => {
res.render('search');
});
我不明白为什么每次提交时都会将 /?a=a 添加到 URL 的后面。我该如何删除它?
当您 document.getElementById("jsForm").submit();
将 URL 上的表单作为查询参数发送时,因为您正在使用 method="GET"
a=a
来自此字段 <input type="hidden" name="a" value="a">
在 HTML 上隐藏,但仍会在 URL
上发送
如果你想“隐藏”你可以使用 method="POST"
将不会在 URL
上可见
我使用带有 action="/sact/${searchp}/"
的 post GET 请求来提交用户搜索查询。
var searchp = search.querySelector("input.search-input").value;
// returns the normal value
document.body.innerHTML += `<form id="jsForm" action="/sact/${search}/" method="GET"><input type="hidden" name="a" value="a"></form>`;
document.getElementById("jsForm").submit();
这里重定向:
router.get('/sact/:where', async (req, res, next) => {
res.render('search');
});
我不明白为什么每次提交时都会将 /?a=a 添加到 URL 的后面。我该如何删除它?
当您 document.getElementById("jsForm").submit();
将 URL 上的表单作为查询参数发送时,因为您正在使用 method="GET"
a=a
来自此字段 <input type="hidden" name="a" value="a">
在 HTML 上隐藏,但仍会在 URL
如果你想“隐藏”你可以使用 method="POST"
将不会在 URL