Html 你能做一个跨子域表单POST(非javascript)吗?

Html 你能做一个跨子域表单POST(非javascript)吗?,html,forms,http-post,Html,Forms,Http Post,我找到了很多关于AJAX调用的答案,但是我在没有使用Javascript的情况下很难找到一个简单的HTML表单的答案 你能把表格从foo.mydomain.com/somepage发到bar.mydomain.com/someotherpage吗 我找到了很多关于AJAX调用的答案,但是我在没有使用Javascript的情况下很难找到一个简单的HTML表单的答案 当然。您可以在任何地方发布表单,包括其他域、端口甚至协议 您唯一不能做的就是将指向不同域、端口或协议的表单提交到iframe中,然后尝

我找到了很多关于AJAX调用的答案,但是我在没有使用Javascript的情况下很难找到一个简单的HTML表单的答案

你能把表格从
foo.mydomain.com/somepage
发到
bar.mydomain.com/someotherpage

我找到了很多关于AJAX调用的答案,但是我在没有使用Javascript的情况下很难找到一个简单的HTML表单的答案

当然。您可以在任何地方发布表单,包括其他域、端口甚至协议


您唯一不能做的就是将指向不同域、端口或协议的表单提交到iframe中,然后尝试使用JavaScript访问其内容。这会被同源策略阻止(但我认为子域可以克服)。除此之外,表单没有任何限制

只需在
操作
属性中包含主机名即可

<form action="//bar.example.com/someotherpage" method="post">


如果服务器使用允许跨域访问的特定标头进行响应,则任何域都可以克服此问题-嗯。。。但可能需要进行一些重定向。如果您提交到一个单独的域,该域不需要处理请求并将您提交到确认页面吗?好吧,假设您从example.com的S3 bucket或其他静态存储中提供静态内容,但是您将表单提交到api.example.com,在那里您可能有api网关或JSON REST api服务器。处理禁用JavaScript的用户可能有点棘手。他们将通过浏览器登陆api.example.com/something,并获得原始JSON输出。@Costa-hmm。在这种情况下,当用户点击该端点时,您必须在响应头中发出服务器端重定向(到感谢页面),或者在原始表单上有两种事件:一种(普通操作URL)对于非JS用户,它会生成一个可读的页面,该页面会为您调用API并在成功时说“谢谢”,而对于Javascript用户,则会生成一个页面(通过操纵
onsubmit
)。虽然我不确定这对启用JS的用户来说是如何工作的?如果您只是向JSON REST API提交一个表单,您将看到原始JSON(启用或不启用Javascript),否?@Pekka웃 这很有创意。我没有想到这些方面是分开的。我可能会忽略没有JavaScript的用户。不幸的是,这是一个很大的开销。
/
是否意味着使用相同的协议,例如http与https?