我有一个表格,将数据提交到外部域:
<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">
这不起作用。我只有一个很长的URL,并且表格实际上没有发布,页面只是重新加载
这是因为您要让表单提交,它更改了页面URL并在此处发布数据。
从"提交表单并将其重定向到另一个页面"中,我假设您想将表格提交到https://externalnomain.com/register,然后重定向到https://externalnormain.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
}