jquery提交功能打开弹出 - 需要在新选项卡中打开

时间:2014-10-21 09:15:01

标签: jquery ajax forms

我的网站是http://www.tripconnects.com。我正在尝试创建一个登录过程,当用户登录我的站点时,它也将登录到第三个站点。我正在使用jquery submit() 用于在第三个站点上提交身份验证表单的功能。但是当提交事件被触发时,它会尝试打开弹出窗口。我还添加了target =“_ blank”属性,但似乎没有任何效果。这是我的jQuery代码:

$(window).load(function(){
    if ($(".adlogin .readon .button").length == 1) {
        $.ajax({
            url : '/adlogin_ajax.php',
            method : 'post',
            success : function(response){
                if(response == 'true'){
                    $("#ssoform").submit();
                }
                return false;
             }
        }); 
    }  
});

请帮助。 谢谢!

1 个答案:

答案 0 :(得分:0)

如果我理解正确,你想要做以下事情:

当用户登录您的网站时,您希望使用您提供的凭据填写另一个网站上的登录表单并按提交。

您现在正在做的是使用ajax,获取目标网站的内容,然后提交表单。这将触发来自该站点的答案的新弹出/选项卡。

解。

首先检查目标网站上的表单指向您的位置。按下提交后有一些网址(在谷歌浏览器或Firefox中拦截控制台/终端中的网址)。

然后是:

$.post("<interecepted_url.php>", {login: "mylogin", password: "mypass"})
.done(function() {
   alert( "second success" )
})
.fail(function() {
   alert( "error" )
})
.always(function() {
   alert( "finished" )
})

然而,这个解决方案有点hackish,因为你正在进行跨域请求,它可能超过ssl,csrf保护那种问题。然而,有时人类必须做人类必须做的事情。 ;)

一般来说,您想要做的不是打开某种类型的网站,找到一个表单并提交它,但假装是该网站,伪造请求并发布,接收答案并在您的网站上处理该答案。

如果有帮助,请告诉我。