尝试使用jQuery .post()在表单POST后重定向用户

时间:2015-02-13 00:25:07

标签: javascript jquery html

log_and_redirect.html

   <HTML>
        <HEAD>
            <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
            <script type="text/javascript">
                $(document).ready(function(){
                      $('myLoginForm').submit(function(){
                        $.post('<website_to_log_into>', function() {
                          window.location = 'http://google.com';
                        });
                        return false;
                      });
                  });
            </script>
        </HEAD>

        <BODY>
            <FORM NAME="myLoginForm" METHOD="POST" ACTION="<website_to_log_into>">
                <INPUT TYPE="hidden" NAME="username" VALUE="myUsername">
                <INPUT TYPE="hidden" NAME="password" VALUE="myPassw@rd">
            </FORM>
        </BODY>
    </HTML>

我尝试使用jQuery .post()使用用户名和密码将表单提交给<website_to_log_into>,然后将用户重定向到Google(同时仍然保持登录状态)。我尝试运行此HTML(正确填写<website_to_log_into>字段),但它似乎无法正常工作。当我点击log_and_redirect.html时,浏览器窗口完全空白。我对javascript和jQuery相当陌生,所以我只是想知道我在这里做了什么,以及我如何纠正它。

1 个答案:

答案 0 :(得分:2)

你的选择器错了。 $('myLoginForm')匹配标记为myLoginForm的元素,例如<myLoginForm ...>。要匹配name属性,您必须使用属性选择器。此外,您需要提供要发布的参数。

$('form[name=myLoginForm]').submit(function() {
    $.post('<website>', $(this).serialize(), function() {
        window.location = 'http://google.com';
    });
    return false;
});