Javascript 提交表单而不重定向

Javascript 提交表单而不重定向,javascript,html,ajax,redirect,Javascript,Html,Ajax,Redirect,我想提交一个表格到行动页,这是一个不同的网站,但我不想被定向到行动页。我尝试过所有的方法,但都不管用,我听说过ajax,有人能给我举个例子吗 我想要的是: 我想提交一份表格,但不能重定向 提交表单,因为我被重定向到操作页面,我被重定向到我的原始页面 我的代码: <form id="user-login-form" accept-charset="UTF-8" action="http://xxxxxn" method="post"> <div> <div cl

我想提交一个表格到行动页,这是一个不同的网站,但我不想被定向到行动页。我尝试过所有的方法,但都不管用,我听说过ajax,有人能给我举个例子吗

我想要的是:

  • 我想提交一份表格,但不能重定向
  • 提交表单,因为我被重定向到操作页面,我被重定向到我的原始页面
我的代码:

<form id="user-login-form" accept-charset="UTF-8" action="http://xxxxxn"  method="post">
<div>
<div class="user_login_block&amp;op=Log+in"><label for="edit-name"><span class="form-required" title="This field is required.">*</span></label>
<input type="hidden" />
<div>
<div class="user_login_block&amp;op=Log+in"><label for="edit-name"><span class="form-required" title="This field is required.">*</span></label>
<input type="hidden" />
<input class="form-text required" id="edit-name" type="hidden" maxlength="60" name="name" size="15" value="xxxxxx2" /></div>
<div class="form-item form-type-password form-item-pass"><label for="edit-pass"></label>
<input class="form-text required" id="edit-pass" type="hidden" maxlength="60" name="pass" size="15" value="9sQ&amp;ampzW#7PKhpqbzcCFz9jvY" />
<input type="hidden" /></div>
</div>
<input type="hidden" name="form_build_id" value="form-odWc3MFMsKIL_5vCQtPmiv0AVf0tFwBu7eP2-8" />
<input type="hidden" name="form_id" value="user_login_block" />
<div class="form-actions form-wrapper" id="edit-actions"><input class="form-submit" id="edit-submit" type="submit" name="op" value="submit" />

*
*

检查以下示例:

检查此链接:

注意: 这是ajax的一个基本示例。你不能用很多其他的方法,比如使用$.post、$.get等,但是$.ajax有很多选项,比如在加载内容之前显示加载图像

html:

<!doctype html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <title>ajax example</title>
        <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
    </head>
    <body>
        <div id="message"></div>
        <form id="myform" action="test.php">
            <input type="text" name="test"/>
            <input type="submit" value="submit"/>
        </form>
        <div id="response"></div>

        <script>
            $(function() {
                $("#myform").on("submit", function(e) {
                    e.preventDefault();
                    $.ajax({
                        url: $(this).attr("action"),
                        type: 'POST',
                        data: $(this).serialize(),
                        beforeSend: function() {
                            $("#message").html("sending...");
                        },
                        success: function(data) {
                            $("#message").hide();
                            $("#response").html(data);
                        }
                    });
                });
            });
        </script>
    </body>
</html>

ajax示例
$(函数(){
$(“#我的表格”)。关于(“提交”,功能(e){
e、 预防默认值();
$.ajax({
url:$(this.attr(“操作”),
键入:“POST”,
数据:$(this).serialize(),
beforeSend:function(){
$(“#消息”).html(“发送…”);
},
成功:功能(数据){
$(“#消息”).hide();
$(“#响应”).html(数据);
}
});
});
});
试试这个:

$('form').submit(function(event){
var serialObject = $(this).serialize();
//ex for post request
   $.post('path_to file',{
     parameters:serialObject
   },function(data){
         // do something after submitting
     });
   });

event.preventDefault()

如果没有效果,可以重定向到隐藏的iframe

<iframe id="iframe" name="my_iframe"></iframe>
<form class="form" id="userform" target="my_iframe">

在php中,您可以使用标题重定向回表单:

header('Location: yourwebsite.com');

希望这对你有用

在来这里寻求帮助之前,你需要尝试解决这个问题。AJAX确实是正确的方法;到目前为止,您在尝试实现AJAX时尝试了什么?有很多教程可以帮助我…我尝试了很多东西,甚至下面的代码,但是它不起作用。可能重复我应该把它放在表单标签中还是在表单外部?我必须把你提供的上面的代码放在表单中还是表单外部?我更新了答案,请检查。您还可以将javascript保存在头部。但最好的做法是把它放在末尾。我尝试了上面的代码,但它不起作用。我被重定向到操作页面。只需复制并粘贴上面的代码,然后自己更改表单代码。它应该很好用。您犯了一些错误,您必须知道调试。对于不可见的CSRF攻击,它是AJAX的有用替代方案。