Angular JS控制器没有调用Spring MVC
Spring MVC not being called by the Angular JS controller
我正在尝试将Angular JS与现有的Spring MVC项目集成。我在从Angular JS控制器调用Spring控制器时遇到了问题。
这是我的app.js
:
'use strict';
var AdminApp = angular.module('AdminApp',[]);
服务:
'use strict';
AdminApp.factory('AdminService', ['$http', '$q', function($http, $q) {
return {
fetchAllTerminals: function() {
return $http.get('http://localhost:8081/crmCTI/admin/terminal')
.success(function(response) {
console.log('Service');
return response.data;
})
.error(function(errResponse) {
console.error('Error while fetching terminals');
return $q.reject(errResponse);
});
}
};
}]);
控制器:
'use strict';
AdminApp.controller('AdminController', ['$scope', 'AdminService', function($scope, AdminService) {
var self = this;
self.terminal={id:'',connectedUser:'',type:'',state:''};
self.terminals=[];
self.fetchAllTerminals = function() {
console.log('Controller');
AdminService.fetchAllTerminals()
.success(function() {
self.terminals = d;
})
.error(function() {
console.error('Error while fetching Terminals');
});
};
self.reset = function() {
self.terminal = {id : null, connectedUser : '', type : '', state : ''};
};
}]);
我用来显示数据的JSP
是:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head></head>
<body ng-app="AdminApp" ng-init="names=['Jani','Hege','Kai']">
<div ng-controller="AdminController as adminController">
<table>
<thead>
<tr>
<th>Id</th>
<th>Login</th>
<th>Type</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="terminal in adminController.terminals">
<td>{{terminal.id}}</td>
<td>{{terminal.connectedUser}}</td>
<td>{{terminal.type}}</td>
</tr>
</tbody>
</table>
</div>
<script type="text/javascript" src="${pageContext.request.contextPath}/vendors/angular/1.4.4/angular.js"></script>
<script type="text/javascript" src="${pageContext.request.contextPath}/js/app.js"></script>
<script type="text/javascript" src="${pageContext.request.contextPath}/js/controller/admin-controller.js"></script>
<script type="text/javascript" src="${pageContext.request.contextPath}/js/service/admin-service.js"></script>
</body>
</html>
我可以从web浏览器访问我的Spring控制器,它会返回一些数据,但Angular JS控制器没有调用它
我是不是遗漏了什么?你能帮帮我吗?
感谢
要从服务函数返回数据,您应该使用.then
函数,该函数能够在promise得到解决或拒绝时返回数据。你不能用.success
&CCD_ 5函数。
.success
&$http
的.error
方法已被**弃用
工厂
AdminApp.factory('AdminService', ['$http', '$q', function($http, $q) {
return {
fetchAllTerminals: function() {
return $http.get('http://localhost:8081/crmCTI/admin/terminal')
.then(function(response) {
console.log('Service');
return response.data;
},function(errResponse) {
console.error('Error while fetching terminals');
return $q.reject(errResponse);
});
}
};
}]);
然后控制器方法将再次在工厂方法上放置.then
函数。因此,.then
的第一个函数将在fetchAllTerminals
调用解析时被调用,如果它被拒绝,第二个函数将被调用。
控制器
self.fetchAllTerminals = function() {
console.log('Controller');
AdminService.fetchAllTerminals()
.then(function(data) {
self.terminals = data;
}, function(error) {
console.error('Error while fetching Terminals');
});
};
试试这个:
'use strict';
angular.module('AdminApp',[]);
服务:
'use strict';
angular.module('AdminApp').factory('AdminService', ['$http', '$q', function($http, $q) {
return {
fetchAllTerminals: function() {
return $http.get('http://localhost:8081/crmCTI/admin/terminal')
.success(function(response) {
console.log('Service');
return response.data;
})
.error(function(errResponse) {
console.error('Error while fetching terminals');
return $q.reject(errResponse);
});
}
};
}]);
控制器:
'use strict';
angular.module('AdminApp').controller('AdminController', ['$scope', 'AdminService', function($scope, AdminService) {
var self = this;
self.terminal={id:'',connectedUser:'',type:'',state:''};
self.terminals=[];
self.fetchAllTerminals = function() {
console.log('Controller');
AdminService.fetchAllTerminals()
.success(function() {
self.terminals = d;
})
.error(function() {
console.error('Error while fetching Terminals');
});
};
self.reset = function() {
self.terminal = {id : null, connectedUser : '', type : '', state : ''};
};
}]);
相关文章:
- 在SPRING中从ajax调用响应时显示不可接受错误
- 对API的Spring RestTemplate调用有效,但由于相同的原始策略,jQuery失败
- 如何使用 Ajax 调用将 jQuery 数组传递到 Spring 中
- 在Spring MVC中从JS/jQuery/Ajax执行ActionRequest调用
- Spring ModelandView 重定向在 jquery ajax 调用中不起作用
- 如何多次调用控制器以从整体中获取数据块 - Java,Spring MVC
- Spring MVC使用JavaScript以这种格式调用和返回数据
- Ajax在Spring中使用@modelAttribute调用param
- Spring MVC JSP Jquery调用控制器方法上的按钮点击后重定向错误
- 从Spring Boot控制器调用Javascript
- Angular JS控制器没有调用Spring MVC
- 如何在Spring MVC中使用AJAX调用时保留搜索过滤器值
- jQuery函数没有在Spring MVC中调用onchange事件
- Spring Stomp Websockets回调未调用
- 参数从按钮到模态,然后调用Spring控制器
- 如何使用java脚本或Jquery从表单调用spring控制器方法
- 如何在javascript中调用spring form:checkboxes组件
- 如何调用spring控制器而不提交
- Ajax调用spring控制器总是失败
- 如何从JQuery数据表AJAX调用Spring控制器函数