我正在尝试使用 $http 服务从角度调用外部 REST 服务。
问题是我被困在 $http.get 方法上,因为每次我调用
其余服务时,我都会收到一个 status = 0 的
错误,并且错误回调的 data 参数中没有任何信息。
到目前为止,我已经尝试在端口 5000 上调用本地服务运行:这应该返回一个带有属性和值的 json 对象。另一种方法是调用http://api.flickr.com/services/rest/?method=flickr.test.echo&name=test希望得到答案。对于他们两个,我都得到了同样的错误:我之前提到过。调用是从一个注入了 http 服务的角度控制器发出的。谢谢。$http.get('http://
localhost
:5000/ping')
问问题
5760 次
3 回答
3
你有没有尝试过:
$http({method: 'GET', url: 'someURL'}).
success(function(data, status, headers, config) {
//set view model or do something.
}).
error(function(data, status, headers, config) {
});
于 2013-05-16T19:23:23.083 回答
0
由于 $http 返回一个 Promise,您可以使用该.then()
方法在 Promise 解决时记录您的结果,或者在出现任何错误时记录错误:
$http.get('http://localhost:5000/ping')
.then(function(returnedJson) {
console.log(returnedJson.data);
})
.catch(console.error) // or $log.error if you are using $log from Angular
请注意,干净的 JSON 响应是通过记录对象的.data
属性获得的returnedJson
。由于它是一个 Promise,它包含与使用 Web 服务无关的其他信息。
另请注意,您要使用的 Web 服务也应该与您的 Angular 应用程序位于同一域中,否则您可能会遇到跨域错误,除非该服务通过公开跨域策略来允许从外部网站使用。
(在此处查找更多信息:有人可以发布格式良好的 crossdomain.xml 示例吗?)
如果是这样的话,这篇文章应该会有所帮助:
希望这可以帮助。
于 2016-10-08T17:33:28.183 回答
0
如果有参数,请确保您已正确传递参数。
一般语法应如下所示:
$http.get('../link/yourApplication/searchBySomeNumber?someNum='+$scope.someNum+'&asOfDate='+asOfDate+'&status=undefined')
.success(function(data, status, headers, config) {
//your code
console.log('Data return successful');
})
.error(function(data, status, headers, config) {
$scope.status = status;
alert('Info Error');
console.log('Group Info Error');
});
于 2015-12-17T20:15:58.703 回答