老杜
老杜
  • 发布:2014-09-28 13:40
  • 更新:2014-09-28 15:12
  • 阅读:4748

页面的跳转问题

分类:HTML5+
mui

我还是不太理解所谓的webview。
我的逻辑是
APP默认打开为登陆页面login.html ,提交登陆(ajax,附checklogin代码),如果验证成功后跳转到首页。

这里有两个问题:
1.我的代码里,还没有执行到输出"登陆成功"这几个字的时候,就已经跳转了
2. 首页(index.html) = index + list ,那是应该跳转到index还是list ?
3. list页面的内容也是需要ajax动态加载一些的,这个ajax什么时间执行,在index预加载list的时候可以吗?

附代码
{{{
<script type="text/javascript" charset="utf-8">
mui.init();
function checklogin()
{
var username = document.getElementById("login_user_name").value;
var userpwd = document.getElementById("login_user_pwd").value;
var xhr=null;
xhr = new plus.net.XMLHttpRequest();
xhr.onreadystatechange=function(){
// 判断xhr状态
if(xhr.readyState== 4 && xhr.status== 200)
{
if(xhr.responseText==1)
{
plus.nativeUI.toast('登陆成功');
plus.storage.setItem('name', username);
plus.storage.setItem('pwd', userpwd);
mui.openWindow({
url: 'index.html',
show:{
autoShow:false
},
id:'index'
});
}
}
};

		xhr.open( "POST", "logincheck.php");  
		xhr.send( "login=*****&password=****" );  
  	}  
</script>  

}}}

2014-09-28 13:40 负责人:无 分享
已邀请:
DCloud_UNI_CHB

DCloud_UNI_CHB

页面跳转要跳转到父窗口,也就是index.html;
list.html列表内容请求写在自身的mui.plusReady()方法中,如:
{{{
mui.plusReady(function(){
//发送ajax请求,获得列表内容
....
});
}}}
如上方法会在list页面被创建后自动执行,比如list是作为index的子页面存在的,比如:
{{{
mui.init({
subpages:[{
url:'list.html'
}
]
});
}}}

则在index.html中执行完mui.init后会自动创建list页面,list页面创建完毕后,会自动执行其自身的mui.plusReady方法;

另外,list作为Index的子页面存在后,无需单独预加载;

  • 老杜 (作者)

    非常感谢你的回复,明白了许多。那还有我的第一个问题,代码中怎么能让它执行到"登陆成功"再去跳转到index,不然这个check就是没有用的。


    2014-09-28 18:02

  • DCloud_UNI_CHB

    你可以简单尝试alert('登陆成功')看看效果,plus.nativeUI.toast为非阻塞模式,感觉上会有差异。


    2014-09-28 18:27

该问题目前已经被锁定, 无法添加新回复