尝试从API获取数据时在控制台中获取该错误。以前有人有过这个问题吗?
var url = "https://api.website.com/get/?type=events&lat=" + localStorage.getItem('latitude')
+ "&lng=" + localStorage.getItem('longitude') + "&distance=50";
$http({
headers: {
'Content-type': 'application/json'
}
})
$http.get(url).success(function (events) {
$scope.events = events;
});
错误:
TypeError: Cannot read property 'protocol' of undefined
at Gb (http://localhost:38772/www/js/plugins/angular.min.js:114:238)
at s (http://localhost:38772/www/js/plugins/angular.min.js:65:249)
at new EventsController (http://localhost:38772/www/js/angular.js:4:5)
at d (http://localhost:38772/www/js/plugins/angular.min.js:30:452)
at Object.instantiate (http://localhost:38772/www/js/plugins/angular.min.js:31:80)
at http://localhost:38772/www/js/plugins/angular.min.js:61:486
at http://localhost:38772/www/js/plugins/angular.min.js:49:14
at q (http://localhost:38772/www/js/plugins/angular.min.js:7:380)
at E (http://localhost:38772/www/js/plugins/angular.min.js:48:382)
at f (http://localhost:38772/www/js/plugins/angular.min.js:42:399)
答案 0 :(得分:36)
您发出格式错误的$ http请求。
您不应该在单独调用$http
时设置标头。调用$http()
实际上会发出请求,但由于您只使用标题(没有网址或方法)对其进行配置,因此会向您抛出该错误(正如预期的那样)。
如果您想设置标题,您可以将自定义配置对象作为第二个参数传递给$http.get()
电话:
$http.get(url, {
headers: {
'Content-type': 'application/json'
}
}).success(function (events) {
$scope.events = events;
});
答案 1 :(得分:13)
当请求中出现问题时会发生此错误,例如。如果将url设置为undefined,invalid method或invalid content type,请求对象的任何错误都将引发此错误。
答案 2 :(得分:-1)
从 react 调用 API 时遇到了同样的问题。 检查我的代码后,我发现无法找到环境文件中的端点,这导致了错误。
我所做的只是停止并重新启动反应应用程序