如何在获取 url 时强制 Web 浏览器使用 POST? [英] How do you force a web browser to use POST when getting a url?

查看:19
本文介绍了如何在获取 url 时强制 Web 浏览器使用 POST?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何在获取 url 时强制 Web 浏览器使用 POST?

How do you force a web browser to use POST when getting a url?

推荐答案

使用指定 post 作为方法的 HTML 表单:

Use an HTML form that specifies post as the method:

<form method="post" action="/my/url/">
    ...
    <input type="submit" name="submit" value="Submit using POST" />
</form>

如果您必须将其作为链接(不推荐)实现,您可以使用 onclick 处理程序动态构建表单并提交.

If you had to make it happen as a link (not recommended), you could have an onclick handler dynamically build a form and submit it.

<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>

如果你需要在服务器端强制执行,你应该检查 HTTP 方法,如果它不等于 POST,发送一个 HTTP 405 响应代码(方法不允许) 返回浏览器并退出.具体如何实施取决于您的编程语言/框架等.

If you need to enforce this on the server side, you should check the HTTP method and if it's not equal to POST, send an HTTP 405 response code (method not allowed) back to the browser and exit. Exactly how you implement that will depend on your programming language/framework, etc.

这篇关于如何在获取 url 时强制 Web 浏览器使用 POST?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆