【发布时间】:2017-01-13 23:30:05
【问题描述】:
我正在尝试这样提交表单:
<form id="myForm" action="http://example.com/somefile" method="POST">
...
...
...
<input type="submit" id="sendForm" value="send">
</form>
动作链接它是由另一个开发人员开发的网络服务,所以,当我提交表单时,网络服务用一个 URL (http://www.example.com/thanks) 回复我,我想做的是避免这个网络服务回复,并且到位,改变重定向的url,可以吗?
我也试过这样做:
<script>
$("#sendForm").click(function () {
if (form_check_validation()) {
$("#myForm").submit();
window.location.replace("http://stackoverflow.com");
} else {
return false;
// event.preventDefault();
}
});
</script>
但它不起作用。
谢谢
注意:网络服务在另一台服务器上,所以我遇到了跨域来源的问题。
【问题讨论】:
-
你不能通过普通的表单提交来做到这一点。除非你使用 Ajax 等
-
window.location的表单和设置都需要导航,并且一个页面只能导航一次,到一个或另一个。如果页面和服务满足same-origin rules or both agree upon permitting cross-origin,则可以通过 Ajax 发送表单数据。否则,您可能需要一个服务器端层来进行调解 - 将表单数据提交给它,以便它可以将其传递给服务并控制客户端的重定向结果。
标签: javascript jquery ajax web-services