更新
当state.go的指令执行时,
http/localhost:8100/login.html
转到
http/localhost:8100/login.html#/main.html
我正在开发一个应用程序,并且使用$state.go();它不需要刷新页面,我已经用控制台进行了快速调试,也没有收到任何错误。我也尝试过$location.path();,结果是一样的。在登录之后,我正在尝试更改页面,所以从位于同一个文件夹中的login.html到main.html,这是我的代码:
angular.module('starter', ['ionic', 'ui.router'])
.run(function($ionicPlatform) {
$ionicPlatform.ready(function() {
if (window.cordova && window.cordova.plugins.Keyboard) {
cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
cordova.plugins.Keyboard.disableScroll(true);
}
if (window.StatusBar) {
StatusBar.styleDefault();
}
});
})
.config(['$stateProvider', '$urlRouterProvider', function($stateProvider, $urlRouterProvider) {
$stateProvider
.state('login', {
url: '/login',
//abstract : true, // Because your are have child-states under de 'splash' state, you should set it abstract : true;
templateUrl: '/login.html',
controller: "LogiCtrl"
})
.state('main', {
url: "/main",
templateUrl: "templates/main.html",
})
}])
.controller('LoginCtrl', function($scope, $http, $state, $ionicHistory) {
$scope.data = {};
$scope.data.funzione = "login";
$scope.submit = function(){
console.clear();
console.log("Dentro funzione");
console.log($scope.data.funzione);
var link = 'http://localhost/<path>/api.php';
$http.post(link, {mail : $scope.data.mail}, {pwd : $scope.data.pwd}, {funzione : $scope.data.funzione})
.then(function (res){
console.log("Dentro http.post");
$scope.response = res.data;
console.log($scope.response);
if ($scope.response != "F"){
console.log("Dentro if");
$state.go('main');
} else {
console.log("Dentro else");
}
});
};
});编辑

我怎样才能解决这个问题?
谢谢
发布于 2016-11-23 14:31:14
在配置中,将LogiCtrl更改为LoginCtrl
在您的配置中再次编辑,将login.html更改为templates/login.html,因为您说它们位于同一个文件夹中。
发布于 2016-11-23 14:39:32
是否确定您的login.html不在templates文件夹中。我认为它应该是这样的:templateUrl: 'templates/login.html',。
https://stackoverflow.com/questions/40767123
复制相似问题