我可以在不发出XHR请求的情况下从jquery发出post()吗?

时间:2012-03-01 17:10:39

标签: javascript html post

我想创建一个仅包含链接的登录页面。链接应向服务器端脚本发出post请求,该脚本将设置一些cookie并将浏览器重定向到另一个页面。这样做的原因是我将新的语言环境选择页面固定到已经内置了语言环境逻辑的现有站点上 - 它设置了一个包含2个字符串语言环境字符串的cookie。

Jquery在我的页面上可用,所以我正在考虑使用$ .post(),但这只会产生XHR请求。是否可以使用jquery做我想做的事情?或者我需要将“链接”作为表单中的按钮吗?

以下代码生成XHR请求

<head>

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <script type="text/javascript" src="/_scripts/jquery-1.6.1.min.js"></script>

    </head>
    <body>
        <a id="test" href="">link</a>

            <script type="text/javascript">
                $(function(){
                    $('#test').bind('click', function(){
                    $.post('/select-locale/processing',
                    {'locale':'NZ',
                        'returnPage':'/'

                    });
                }); 

                })

            </script>
    </body>
</html>

我想我可以从我的php脚本中返回一个布尔值,然后在成功时执行window.location.href,但是想知道是否有替代方法。

1 个答案:

答案 0 :(得分:5)

.post()是jQuery的Ajax功能的一部分。如果您不想使用此功能,请回到常规旧.submit()。这将提交一份表格,从而提供新的页面。或者,您可以将表单提交给隐藏的Iframe。