页面1 ,传值页面
var url = 'http://mall.zhi100.cn/mallapi/v1/site/login?username=test&password=test123';
mui.ajax(url,{
dataType: 'json',//服务器返回json格式数据
type: 'post',
timeout: 10000,//超时时间设置为10秒
success: function(data){
ltoken = data.AccessToken;//成功获取token
//处理返回数据,并且处理逻辑
localStorage.setItem('user', {});
mui.back();
mui.toast('登录成功') //正常显示
//添加事件接收close事件,并且要判断是否已经登录成功,然后页面close,因为login页面是预先加载的页面
//在这里向需要的页面发送消息事件通知已经登录做响应的处理
loginWebview.addEventListener('hide', function() {
mui.each(plus.webview.all(), function(index, item) { //正常显示
console.log(item.id)
})
var cartwebview = plus.webview.getWebviewById('html/cart.html');
var minewebview = plus.webview.getWebviewById('html/mine.html');
mui.fire(cartwebview, 'loginSuccess', {});
mui.fire(minewebview, 'loginSuccess', {// 传值点
token: ltoken
});
loginWebview.close();
}, false);
},
error: function(xhr,type,errorThrown){ //异常处理
console.log(type);
}
});
接受页面
//获取登陆传值
var token;
window.addEventListener('loginSuccess', function(event){
//获取传过来的值
token = event.detail.token;
})
if(token !== undefined){
regt.style.display = 'none';
login.innerHTML = "已登录";
}
2 个回复
6***@qq.com (作者)
不用了,我用本地存储搞定了
Trust - 少说废话
确保目标webview是存在的,否则没有通知的对象,肯定是不可用的。