我想要一个提交类型按钮来发送POST请求。
我在想这样的事情:
<form action = "" method = "post">
<button>Upvote</button>
<form>
字符串“ Upvote”将在POST请求中作为名称发送。
我知道这是行不通的,并且我知道有使用AJAX(javascript)的方法,但是我对这个领域还很陌生。我只是想知道这是否可能。
更新资料
有人建议<input>我使用标签。问题在于它生成的是GET而不是POST。
我想要一个提交类型按钮来发送POST请求。
我在想这样的事情:
<form action = "" method = "post">
<button>Upvote</button>
<form>
字符串“ Upvote”将在POST请求中作为名称发送。
我知道这是行不通的,并且我知道有使用AJAX(javascript)的方法,但是我对这个领域还很陌生。我只是想知道这是否可能。
更新资料
有人建议<input>我使用标签。问题在于它生成的是GET而不是POST。
<button type="submit">Send it</button>代码的其余部分看起来不错(空格除外),action字段保存指向所需服务器资源的url,该URL将数据用于进一步处理。
Answers:
您需要给按钮一个名称和一个值。
没有名称就不能提交控件,并且按钮元素的内容是标签,而不是值。
<form action="" method="post">
<button name="foo" value="upvote">Upvote</button>
</form>
type="submit"吗?
submit对于默认值type在属性<button>
您可以在JS的帮助下完成此操作。在以下示例中,使用fetch方法在单击按钮时提交了POST请求:
const button = document.getElementById('post-btn');
button.addEventListener('click', async _ => {
try {
const response = await fetch('yourUrl', {
method: 'post',
body: {
// Your body
}
});
console.log('Completed!', response);
} catch(err) {
console.error(`Error: ${err}`);
}
});
<button id="post-btn">I'm a button</button>
您可以:
<input type="submit" ..>,而不是该按钮。submit(..)。例如:form.submit()。将此代码附加到按钮单击事件。这将序列化表单参数并执行表单的method属性中指定的GET或POST请求。<form action = "" method "post"> <input type="Submit" name="upvote" value="Upvote"/> </form>我拥有的代码
http://127.0.0.1:8000/debate/00000001?upvote=Upvote首先在URL上呈现表单,否则您不应获得该结果。
debate/00000001,然后单击upvote按钮,然后得到结果URL ...