我有一个表单,它将数据提交到外部域:
<form action="https://EXTERNALdomain.com/register" id="form_register" method="POST">
<input type="text" id="first-name" name="first-name" value="" placeholder="First Name" required/>
<input type="text" id="last-name" name="last-name" value="" placeholder="Last Name" required/>
<input type="email" id="email" value="" name="email" placeholder="Email Address" required/>
<input type="password" id="password" name="password" placeholder="Password" required/>
<input type="submit" value="Create Account" />
</form>
但是,我尝试提交表单并将其重定向到另一个页面,也在外部。到目前为止,我的尝试都没有成功使用AJAX。
<script type="text/javascript">
function sform() {
$.ajax({
url: "https://EXTERNALdomain.com/home",
data: $('#request').serialize(),
type: 'POST',
success: function (resp) {
alert(resp);
},
error: function(e) {
alert('Error: '+e);
}
});
}
我之后一直在调用表格:
<form onsubmit="sform()" id="request">
这不起作用。我只是得到一个很长的网址,而且表单实际上没有发布,页面只是重新加载
答案 0 :(得分:1)
这是因为您要让表单提交,这会更改页面网址和POST数据。
从&#34;提交表单并将其重定向到另一个页面&#34;我假设您要将表单提交到https://EXTERNALdomain.com/register并重定向到https://EXTERNALdomain.com/home。为此,您需要使用$.ajax
提交表单,并在成功时更改位置。
function sform() {
$.ajax({
url: $('#request').attr("action"),
data: $('#request').serialize(),
type: $('#request').attr("method"),
success: function (resp) {
location.href = "https://EXTERNALdomain.com/home"; // redirect
},
error: function(e) {
alert('Error: '+e);
}
});
return false; // cancel default action
}