在按钮中使用ng-click时,我遇到了IE问题。 我希望每当用户点击在Chrome中工作正常但在IE11中没有工作的按钮时,从spring控制器重新加载数据。 问题是当页面加载数据显示在网页上时,单击“刷新数据”按钮时,它将通过点击不在IE中工作的弹簧控制器重新加载数据。在IE中,当用户点击一个按钮时,它也会点击角度控制器以及服务方法,但不会碰到弹簧控制器。但是当打开开发工具时,它会撞到弹簧控制器。
以下示例: HTML代码:
%PUT
js code:
<div ng-controller="loadingSampleCtrl">
<button class="btn btn-primary" type="button" ng-click="loadOrRefreshData()">Reload</button>
{{myData.empName}} /* This is printed in chrome as well as in IE with developer tools opened*/
</div>
弹簧控制器:
myApp.controller('loadingSampleCtrl', function ($scope, MyService) {
$scope.loadData = function () {
$scope.loading = true;
MyService.testData().then(
function (response) {
alert("response back from spring controllerf");
if(window.navigator.msSaveOrOpenBlob){
$scope.IEBrowser = true;
$scope.myData = response;
/* $timeout(function() {
$scope.pdfName = response;
}, 0);*/
} else {
$scope.IEBrowser = false;
$scope.myData = response;
}
},
function (errResponse) {
$rootScope.showError("Internal error" + errResponse);
});
}
$scope.testData();
});
//service call
_myService.testData = function(){
alert("service call");//this alert is visible in IE
var deferred = $q.defer();
var repUrl = myAppURL+'/myDataToRead/getData.form';
$http.get(repUrl).then(
function (response) {
deferred.resolve(response.data);
},
function(errResponse){
deferred.reject(errResponse);
}
);
return deferred.promise;
}
任何建议都会有所帮助。
答案 0 :(得分:0)
我检查你的网址var repUrl = yAppURL+'/myDataToRead/getData.form';
,我的问题是你不是地图控制器的路径。您只能使用/getData
映射您的方法。您需要在控制器中使用@RequestMapping
注释。你可以参考下面的代码:
@RestController
@RequestMapping("/myDataToRead")