Angular中的ajax调用和路由问题
ajax call and route issues in Angular
我是Angular的初学者,我已经完成了单页应用程序的教程,从不同的PHP文件导入模板,并使用资源和路由模块,下一个代码是我的js文件:
(function(){
var app = angular.module('empresa', ['empresa.services', 'ngRoute']),
services = angular.module('empresa.services',['ngResource']);
services.factory('Empresa', ['$resource', function($resource){
return $resource('empresa', {}, {
get: {method: 'GET', url: 'empresa/getAll'},
show: {method: 'GET', url: 'empresa/get/:id' },
save: {method: 'POST'}
});
}]);
app.config(['$routeProvider', function($routeProvider){
$routeProvider.
when('/empresa', {
templateUrl: 'empresa.htm',
controller: 'empresa'
}).otherwise({
templateUrl: 'empresaindex.htm',
controller: 'empresa'
});
}]);
app.controller('empresa', ['$scope', 'Empresa', function($scope, Empresa){
Empresa.get(function(data){
$scope.empresas = data.items;
});
}]);
})()
这是我的index.php:
<div id="info" ng-app="empresa">
<div>
<?php include('usersmanagement/usertemplates.php'); ?>
<h2>Administración de Usuarios</h2>
<div class="row" ng-view>
</div>
</div>
</div>
这些是我的usertemplates.php:
<script type="text/ng-template" id="empresa.htm">
<h1>Una empresa</h1>
</script>
<script type="text/ng-template" id="empresaindex.htm">
<table class="table table-hover">
<thead>
<tr>
<th>ID</th>
<th>Nit</th>
<th>Razón Social o Nombre</th>
<th>Mas Detalles</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="empresa in empresas">
<td>{{ empresa.id }}</td>
<td>{{ empresa.documento }}</td>
<td>{{ empresa.razon_social }}</td>
<td><a href="#/empresa">Mas Detalles</a></td>
</tr>
</tbody>
</table>
</script>
我有两个问题:
- Ajax调用进行了三次
- 当我点击链接empresa时,我总是重定向到其他模板,即使我在URL的末尾写#empresa
Angular版本是1.5.3
我做错了什么?
不确定出了什么问题,但我几乎使用了和您相同的代码,切换状态没有问题。
var app = angular.module('empresa', ['empresa.services', 'ngRoute']),
services = angular.module('empresa.services', ['ngResource']);
app.config(function($routeProvider) {
$routeProvider.
when('/empresa', {
templateUrl: 'empresa.htm',
controller: 'empresa'
}).otherwise({
templateUrl: 'empresaindex.htm',
controller: 'empresa'
});
});
app.controller('empresa', ['$scope',
function($scope) {
}
]);
<body ng-app="empresa">
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular-resource.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular-route.js"></script>
<script type="text/ng-template" id="empresa.htm">
<h1>Una empresa</h1>
</script>
<script type="text/ng-template" id="empresaindex.htm">
<h1>Una empresaindex</h1>
<a href="#/empresa">Mas Detalles</a>
</script>
<div>
<a href="#/empresa">Mas Detalles</a>
<a href="#/asdfadsf">Otherwise</a>
<h2>Administración de Usuarios</h2>
<div class="row" ng-view>
</div>
</div>
</body>
相关文章:
- 无法运行php代码,有角度路由问题
- 控制器操作的路由问题
- 有UI路由问题的角度路由
- Angular中的ajax调用和路由问题
- 自定义 Mod 文件夹的角度路由问题
- 基于 id 访问 url 时存在角度路由问题
- 表达 4 + 角度 2 HTML 5 路由问题
- Expressjs 动态路由问题
- ASP.NET MVC 4 路由问题
- 角度JS和动态路由问题
- AngularJs 路由问题
- AngularJS html5Mode 路由问题托管在 IIS 8.5 中
- ASP.Net MVC Razor - Javascript 函数路由问题
- 只有当我使用Mixin时,Ember才会导致路由问题.我该如何解决此问题
- Node.js在HTTP Rest开发过程中出现路由问题
- 主干路由问题
- Javascript(Jquery)调用MVC3 Controller/Action/ID的URL路由问题,返回404,
- Angular JS注入路由问题
- Angular JS路由问题
- AngularJS中的动态路由问题