-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 而不是服务器响应。如果您想在 mainMenu 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 回答