Asa*_*aph 31
使用指定post作为方法的HTML表单:
<form method="post" action="/my/url/">
...
<input type="submit" name="submit" value="Submit using POST" />
</form>
Run Code Online (Sandbox Code Playgroud)
如果您必须将其作为链接(不推荐)发生,您可以使用onclick处理程序动态构建表单并提交它.
<script type="text/javascript">
function submitAsPost(url) {
var postForm = document.createElement('form');
postForm.action = url;
postForm.method = 'post';
var bodyTag = document.getElementsByTagName('body')[0];
bodyTag.appendChild(postForm);
postForm.submit();
}
</script>
<a href="/my/url" onclick="submitAsPost(this.href); return false;">this is my post link</a>
Run Code Online (Sandbox Code Playgroud)
如果需要在服务器端强制执行此操作,则应检查HTTP方法,如果它不等于POST,则将HTTP 405响应代码(不允许的方法)发送回浏览器并退出.具体如何实现将取决于您的编程语言/框架等.
Jon*_*erg 21
<form method="post">
Run Code Online (Sandbox Code Playgroud)
如果你正在获取一个URL,你就是在进行它,而不是发布它.您当然不能让浏览器通过其位置栏发出POST请求.
Rya*_*ite 14
我从你的问题中感觉到你只是希望在浏览器的地址栏中发送一个帖子请求.
只需在地址栏中输入以下内容,即可将"操作"的值交换到您喜欢的网址.
data:text/html,<body onload="document.body.firstChild.submit()"><form method="post" action="http://stackoverflow.com">
Run Code Online (Sandbox Code Playgroud)
这是无效的HTML,但浏览器(至少我到目前为止测试过的所有)知道你的意思,我想尽可能地保持它.
如果要发布值,请根据需要添加任意数量的输入,在每个输入中交换名称和值,以满足您的任何需要.
<input value="hugh.mahn@person.com" name="email">
<input value="passwordsavedinhistory" name="password">
Run Code Online (Sandbox Code Playgroud)
请务必注意,您发布的敏感信息将在以下位置显示:
这是发送帖子请求的一种非常糟糕的方式,所有其他答案都要好得多,但你可以做到这一点仍然很酷.