这对你来说可能是一个简单的场景,但不适合你,我试图在网上搜索这个没有找到任何有用的东西。
今天我遇到了一个奇怪的情况。我写了一个web api服务,它返回一个JSON对象。我在相同的解决方案下,但在不同的项目下为AngularJS应用程序创建了另一个项目。 当我从角度应用程序调用$ http服务以从web api获取数据时,它无法正常工作。最初我只使用chrome和firefox。 但是当我在IE浏览器中打开角度应用程序时,它工作正常。这是非常奇怪的情况。
同时我在web api项目中编写了一个角度代码,即使我在chrome或firefox中打开了角度应用程序,角度代码也能够获取数据。
任何人都可以指导为什么如果项目不同,chrome或firefox无法获取详细信息。
Angular Code
sendRequest(URL, userId) // This is jQuery deferred
.then( (data) => {
// ...
return gameScore.save() // This is a promise
.then( (changedGameObj) => { // success
console.log(changedGameObj);
}, (error) => { // error
console.warning(error);
}); // this whole promise is returned to the deferred.
})
.fail() // Back to jquery deferred.
.always()
.whatever()
HTML:
var app = angular.module("app", [])
.controller("controller", function ($scope, $http, $log) {
$http({
url: 'http://localhost:37103/api/employee',
method: 'GET',
headers: { 'Content-Type': 'application/json' }
})
.then(function success(response) {
// $scope.employees = response.data;
$scope.data = response.data;
})
.then(function error(response) {
$scope.error = response;
})
});
WebApi方法存在于同一解决方案下的单独项目中
<body ng-controller="controller">
Data:{{data}}
</br>
Error: {{error}}
</body>
}
答案 0 :(得分:0)
看起来问题出在asyn调用上,在下面的响应的帮助下,我能够解决我的问题。
http://stackoverflow.com/a/40191484/1997983