我有这样的路线:
$routeProvider
.when('/settings', { templateUrl: 'settingsTemplateURL', controller: settingsCtrl })
.when('/profile', { templateUrl: 'profileTemplateURL', controller: profileCtrl })
.otherwise({ redirectTo: '/settings' });
我在这样的地址上使用我的webb:localhost / testapp /#/ settings或localhost / testapp /#/ profile等...
当我请求地址时问题就开始了:localhost / testapp在这一刻,否则函数会将我重定向到localhost / testapp#/ settings,其中缺少'testapp'之后的斜杠。这是AngularJS版本之间的差异,因为在将AngularJS从版本1.0.7更新到1.2.13后出现此问题
有人可以帮帮我吗? 谢谢大卫
答案 0 :(得分:1)
问题是localhost
。
尝试使用:http://127.0.0.1/
代替localhost
当$ .route尝试恢复模板时,您可能仍会遇到问题,有时因为没有发送正确的标头而无效,但这取决于您的设置。
有效吗?
答案 1 :(得分:0)
要让它在本地主机中工作,你必须像这样远程调用路由:
$routeProvider.when('/home', {
templateUrl: 'http://yoururl.com/model/app/whatever.php',
controller: 'Dashboard'
})
请务必添加可信来源:
$sceDelegateProvider.resourceUrlWhitelist(['self','http://yoururl.com/model/app/**']);
和你的php:
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Headers: origin, content-type, accept');
它有效。
这是它与localhost