我的网站是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;
}
});
}
});
请帮助。 谢谢!
答案 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保护那种问题。然而,有时人类必须做人类必须做的事情。 ;)
一般来说,您想要做的不是打开某种类型的网站,找到一个表单并提交它,但假装是该网站,伪造请求并发布,接收答案并在您的网站上处理该答案。
如果有帮助,请告诉我。