使用Jquery提交表单后检索http响应(cookie等)

时间:2012-07-14 19:42:02

标签: jquery jquery-mobile httpresponse http-status-code-302

我正在尝试制作移动网络应用,并在第一页用户添加电子邮件和密码。然后按登录按钮,应用程序使用POST方法发送到站点(用aspx编写)一些值(电子邮件,密码等)。这个站点不是我的(它是一个Web短信网站)。所以我不能改变它的代码。使用302代码登录站点响应后,将您重定向到default.aspx页面。在firebug中,响应头是可见的,但在我的代码中我无法检索它们。

我的想法是从网站获取cookie和响应数据,以便在我的应用程序中使用它们,这样我就可以发送一些短信。

以下是表单代码:

 <div data-role="content">
        <h4 style="font-size: 11px;">Login</h4>

        <form action="https://www.site.com/login.aspx" method="POST" id="loginForm">

            <div data-role="fieldcontainer">
                <label for="email" style="font-size: 11px;">Email:</label>
                <input data-corners="false" type="email" id="email" name="email" style="height: 15px;">
            </div>

            <div data-role="fieldcontainer">
                <label for="password" style="font-size: 11px;">Password:</label>
                <input data-corners="false" type="password" id="password" name="password" style="height: 15px;">
            </div>  
            <hr />
            <a onclick="submitLogin();" style="margin-right:10px;" data-mini="true" data-corners="false" data-theme="a" data-role="button" data-inline="true" >Σύνδεση</a>  
        </form>

    </div>

这里是jQuery代码

function submitLogin(){ 

    /* get values from elements on the page: */
    var $form = $("#loginForm");
    var $email = $form.find( 'input[name="email"]' ).val();
    var $password = $form.find('input[name="password"]').val();
    var $url = $form.attr( 'action' );

    /* standard values */    
    var $viewState = "/wEPDwUKMjAxODU0MTU1MGQYAQUeX19Db250cm9sc1JlcXVpcmVQb3N0QmFja0tleV9fFgEFDVBlcnNpc3RDb29raWVlQC0K+XdAP1H7v/suQ5kRQImd9g==";
    var $eventValidation = "/wEWBgKWgd/gBgKPruq2CALSxeCRDwL+ho7UDgK8w4S2BAKjm5WMBvFcAWZd8v4bPp5LchLmRoFTR9YT";
    var $submit = "OK";

    $.post($url, 
            {__VIEWSTATE: $viewState, Username: $email , Password: $password , Submit: $submit, __EVENTVALIDATION: $eventValidation },
            function(xhr) {
            alert(xhr.getAllResponseHeaders());
            });


};

当我运行时没有任何警告.. 有没有办法实现它?

提前致谢。

0 个答案:

没有答案