-1

重複の可能性:
javascriptを使用してjqueryページ(div内)を表示する方法は?

これが私のJavaScriptコードです

function loginPostData(jsonRequest)
{
    alert("hello");
    $.post("http://localhost:8080/edserve/MobileServlet", 
            JSON.stringify(jsonRequest), 
            function(data) 
            {
                var obj = JSON.stringify(data);
                alert(obj);
                if(data.status=="success")
                {
                    <!--problem lies here-->
                    $.mobile.changePage( "#mainMenu");
                    //$('#result').load('index.html#mainMenu');
                    // . load also give the same result
                }
                else
                {
                    if(data.message=="user not verified")
                    {
                        //display verification page 
                    }   
                }   
            }, "json");
}

問題:jqueryはメインメニューページをロードしますが、ページを更新するまで何も表示されません

私のページのクイックリファレンス

<div data-role="page" id="login">
    // other page content
            <div id="divrightButton">

            <!-- calling loginSubmit which calls loginPostData method/function-->   
            <a class="bluebutton" href="#" onclick="loginSubmit(); return false;">Login</a>

            </div>
        </form>
</div>

<!--main page-->
<div data-role="page" id="mainMenu">

     Main menu
</div>

また、同じページ遷移を伴うjqueryに問題があることも知りました https://github.com/jquery/jquery-mobile/issues/2529

しかし、これらの問題を修正する方法、万が一の場合に備えて、このノードに手がかりがありません。リダイレクト/ロードのために次のことも試しました

$.mobile.changePage("#mainMenu",{allowSamePageTransition: true }); 
$('#result').load('index.html#mainMenu');
$.mobile.changePage( $("#mainMenu"));

何も機能していません。つまり、機能していますが、結果は同じで、何も表示されません。

4

3 に答える 3

1

これを試して..

if( data.status == "success" ) {
    window.location = 'index.html#mainMenu';
    return;
}

ページを更新した後はhtmlのみを実行でき、ページを更新した後はサーバーの応答ではなくhtmlのみを表示します。メインメニューdivにサーバーの応答を表示する場合は、Ajax呼び出しを使用する必要があり、応答を取得した後は次のように記述します。データをhtmlで表示するコード。

于 2012-05-31T08:03:48.613 に答える
1

これを使用してみてください

  function loginPostData(jsonRequest)
    {
        alert("hello");
        $.post("http://localhost:8080/edserve/MobileServlet", 
                JSON.stringify(jsonRequest), 
                function(data) 
                {
                    var obj = JSON.stringify(data);
                    alert(obj);
                    if(data.status=="success")
                    {
                        $('#mainmenu').children().remove(); //clears div
                        $('#mainmenu').html(data);  //Loads data

                    }
                    else
                    {
                        if(data.message=="user not verified")
                        {
                            //display verification page 
                        }   
                    }   
                }, "json");
    }
于 2012-05-31T10:58:34.810 に答える
0

このコードを使用して、特定のdiv要素をリダイレクト/表示します

$.mobile.changePage("#mainMenu",{allowSamePageTransition: true });

また、次のcssファイルをダウンロードします。これは、ページ/div要素間を移行するための必須アイテムです。

jquery.mobile.transitions.css

于 2012-05-31T13:23:05.753 に答える