可能重复:
how to display jquery page(inside a div) using javascript?
这是我的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"));
没有人工作,我的意思是它有效但结果相同,没有显示
答案 0 :(得分:1)
试试这个..
if( data.status == "success" ) {
window.location = 'index.html#mainMenu';
return;
}
刷新页面后,只有html可以运行,只显示你的html,而不是你的服务器在刷新页面后的响应。如果你想在你的mainMenu div上显示你的服务器响应,那么你需要使用Ajax调用并在获得响应之后所以你编写代码来在html中显示数据..
答案 1 :(得分: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");
}
答案 2 :(得分:0)
使用此代码重定向/显示特定的div元素
$.mobile.changePage("#mainMenu",{allowSamePageTransition: true });
并下载以下css文件,它必须在页面/ div元素之间进行转换