我在my-app.js中有这个:
var myApp = new Framework7({
closeByOutsideClick : true,
init: false
});
var $$ = Dom7;
// Add view
var mainView = myApp.addView('.view-main');
function avvia(info) {
$.ajax({
type: "POST",
contentType: "application/json",
//data: {info : info},
data : JSON.stringify(info),
timeout: 6000,
url: "http://localhost:8180/api/",
success: function(data){
urlRedirect = data.urlRedirect;
//window.location.href = urlRedirect;
mainView.router.loadPage(urlRedirect);
},
beforeSend: function() {
myApp.showPreloader('Loading...');
},
complete: function(data) {
myApp.hidePreloader();
},
error: function (xhr, status, error) {
// executed if something went wrong during call
myApp.alert(error, ' Error');
//if (xhr.status > 0) alert('got error: ' + status); // status 0 - when load is interrupted
}
});
}
myApp.init();
在我的ajax调用之后,我想将页面重定向到一个新页面,以便在成功的情况下作为数据字段返回。
我的问题是Framework7导航mainView.router.loadPage(urlRedirect)
不起作用,而标准window.location.href = urlRedirect;
工作正常。我该如何解决?
答案 0 :(得分:0)
您的urlRedirect仅返回Ajax页面所需的HTML,还是返回完整Framework7应用程序的html?我的意思是,如果你返回的不仅仅是Ajax页面的结构,那么路由器将不知道如何处理它,并且似乎什么都不做。
如果您调用loadPage(url),则该网址应仅包含,例如:
<div class="page" data-page="about">
... About page content goes here
</div>
此外,还有导航栏标记,页眉/页脚等,但没有别的。