0

我有两个站点:一个有表格,另一个有数据库。它们位于不同的域上。 带有表单的站点一需要站点二的数据,他只有在成功登录后才能获得。

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

站点 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>

希望有人可以提供帮助,我真的坚持这个!

4

1 回答 1

0

好吧,我这样解决了这个问题:

<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>

脚本停止工作,直到 ModalDialog 关闭。如果用户没有在模态对话框中正确登录,回调将返回空 JSON,并且不会填写任何内容。如果用户正确登录,回调获取数据,允许请求。

对于第一步,这非常有效,但如果它变得有点复杂,例如我想让这个人选择我在我的数据库中拥有的电话号码,他想填写表格。我怎么能那样做?

于 2012-07-18T12:00:39.587 回答