我是AngularJS的新手。我有一个.net MVC WebAPI Restful应用程序运行在IIS服务器上。当我查询的API与http://xxx.xxx.xxx.xxx/api/project我得到:AngularJS不工作
[{"Id":1,"Name":"Glenn Block","Created":"0001-01-01T00:00:00"},{"Id":2,"Name":"Dan Roth","Created":"0001-01-01T00:00:00"}]
我创建了一个ProjectCtrl(在一个单独的空项目),看起来像这样:
angular.module('Project', ['ngResource']);
function ProjectCtrl($scope, $resource) {
$scope.project = $resource('http://192.168.1.221/api/project'
);
$scope.project.get(function (data) {
console.log('success, got data: ', data);
}, function (err) {
alert('request failed');
});
}
我总是失败。我解决的服务器上CORS问题和请求头中包含
Access-Control-Request-He... x-requested-with
Access-Control-Request-Me... GET
我感到奇怪的是,当我看着萤火虫它不会做一个GET而是显示的状态为选择项目200
我不知道我错过了什么。
get中的第一个参数是否需要是空的{}对象?如果是这样,你(回调)'回调实际上是你返回的数据。只是一个猜测。 – rGil
我只是试过这个,没有改变。然而,我做到了,将这些行添加到ProjectCtrl的顶部... var myApp = angular.module('Project',['ngResource']); myApp.config([ '$ httpProvider',函数($ httpProvider){ $ httpProvider.defaults.useXDomain = TRUE; 删除$ httpProvider.defaults.headers.common [ 'X-请求-随着']; }]); ,它现在得到了,我看到的数据。我在控制台出现错误 - 错误:a.push不是函数 – Jeff
Bummer,如果错误,我会删除答案。不希望这个问题得不到解决。 – rGil