Java 请求登录并在成功时收到回调

Java 请求登录并在成功时收到回调,java,jquery,login,callback,Java,Jquery,Login,Callback,我有两个网站:一个有表单,另一个有数据库。他们在不同的领域。 站点一需要通过站点二获取表单中的数据,只有在成功登录后才能获取这些数据 我知道如何打开登录窗口,我知道如何从站点2检索数据。 但是我没有让它工作,所以站点一请求登录,成功后站点二发送数据 站点2使用Spring和Java服务器页面,而站点1使用纯HTML非常简单 以下是我到目前为止的情况: <html> <head> <title> SomeHtml Form </title>

我有两个网站:一个有表单,另一个有数据库。他们在不同的领域。 站点一需要通过站点二获取表单中的数据,只有在成功登录后才能获取这些数据

我知道如何打开登录窗口,我知道如何从站点2检索数据。 但是我没有让它工作,所以站点一请求登录,成功后站点二发送数据

站点2使用Spring和Java服务器页面,而站点1使用纯HTML非常简单

以下是我到目前为止的情况:

<html>
<head>
    <title> SomeHtml Form </title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js" type="text/javascript"></script>
    <script type="text/javascript">
    function getParameters(){
        // get Login - **here he should wait until successful login**
        window.open('http://localhost:8080/test/login/start.mvc');

        // // USER IS LOGGING IN
        // after success, receive data
        $.getJSON('http://localhost:8080/test/secure/profile/services/export/getuser.mvc?callback=?',function(res){
            alert('Your name is '+res.lname);
            $('#lastname').val(res.lname);
            $('#firstname').val(res.fname);
        });
    }
    </script>
</head>

<body >

    <h1>Some Form</h1>

    <form action="save.html" id="FormName">
        <div>Lastname: <input type="text" id="lastname"/> </div>
        <div>Firstname: <input type="text" id="firstname"/> </div>
    </form>

    <button onclick="getParameters();">Fill Form</button>
</body>
</html>

一些HTML表单
函数getParameters(){
//获取登录-**他应该在这里等待,直到成功登录**
打开窗户http://localhost:8080/test/login/start.mvc');
////用户正在登录
//成功后,接收数据
$.getJSON('http://localhost:8080/test/secure/profile/services/export/getuser.mvc?callback=?,函数(res){
警报(“您的名字是”+res.lname);
$('lastname').val(res.lname);
$('#firstname').val(res.fname);
});
}
某种形式
姓氏:
名字:
填表

希望有人能帮忙,我真的被困在这件事上了

嗯,我这样解决了这个问题:

<script type="text/javascript">
function getParameters(){
    // login
    window.showModalDialog('http://localhost:8080/test/login/check.mvc','','dialogWidth:500px; dialogHeight:350px; resizable:no; unandorned:yes; status:no; ');
    //get data
    $.getJSON('http://localhost:8080/test/secure/profile/services/export/getuser.mvc?callback=?',function(res){
        alert('Your name is '+res.lname);
        $('#lastname').val(res.lname);
        $('#firstname').val(res.fname);
    });
}
</script>

函数getParameters(){
//登录
window.showModalDialog('http://localhost:8080/test/login/check.mvc“,”,“对话框宽度:500px;对话框高度:350px;可调整大小:否;未设置大小:是;状态:否;”);
//获取数据
$.getJSON('http://localhost:8080/test/secure/profile/services/export/getuser.mvc?callback=?,函数(res){
警报(“您的名字是”+res.lname);
$('lastname').val(res.lname);
$('#firstname').val(res.fname);
});
}
脚本停止工作,直到ModalDialog关闭。如果用户没有在模式对话框中正确登录,则回调将返回空JSON,并且不会填写任何内容。如果用户正确登录,回调将获取数据,允许其请求


对于第一步来说,这是完美的,但若它变得有点复杂,比如我想让那个人选择我数据库中的电话号码,他想在表格中填写。我该怎么做?

好的,有什么问题吗?您在Firebug中看到任何请求或响应吗?使用发布的代码,它无法工作,因为我无法从“window.open(…)”返回任何状态。我需要一个函数,让我打开一个页面,做登录,并给我一个状态回来,虽然一切都发生在不同的域。但是如果我调用$.GET(…),我不能在中间打开一个登录页面,因为这个页面将被$GET()解释。如果我正确地回答了你的问题…你可以从开始页执行一个
窗口.returnValue
来返回状态..但由于这是一个跨域调用,它不能同步..你的window.returnValue将我带到了另一个好地方:window.showModalDialog(),它将等待,直到另一个窗口关闭,我可以在登录后关闭它!我正在试这个!您有
窗口。关闭
,您可以在成功回调函数上执行该操作