0

私は 2 つのサイトを持っています。1 つにはフォームがあり、もう 1 つにはデータベースがあります。それらは異なるドメインにあります。 フォームを持つサイト 1は、サイト 2 によるデータを必要とします。サイト 2は、ログインに成功した後にのみデータを取得します。

ログイン ウィンドウを開く方法と、サイト 2 からデータを取得する方法を知っています。しかし、うまくいかないので、サイト 1 がログインを要求し、成功するとサイト 2 がデータを送信します。

サイト 2 は Spring と Java Server Pages で動作しますが、サイト 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 に答える