Javascript $http.get不返回任何内容
我的工厂方法:Javascript $http.get不返回任何内容,javascript,angularjs,Javascript,Angularjs,我的工厂方法: angular.module('ymusica').factory('Albums', ['$http', function($http) { return { query: function(term) { return $http.get('/api/album', { params: { q: term } }); } }; }]); 它不工作,意味着它不返回任何东西。如果我的api路径不正确,那么如何更正它。在这里,我使用rx.js、r
angular.module('ymusica').factory('Albums', ['$http', function($http) {
return {
query: function(term) {
return $http.get('/api/album', { params: { q: term } });
}
};
}]);
它不工作,意味着它不返回任何东西。如果我的api路径不正确,那么如何更正它。在这里,我使用rx.js、rx.time.js、rx.concurrence和typeahead.js。请帮我解决这个问题。谢谢
控制台错误:
这是我的controller.js:
angular.module('ymusica').controller('AlbumSearch', ['$scope', 'Albums', 'Artists', '$q', function($scope, albums, artists, $q) {
$scope.albums = [];
$scope.artists = [];
var watchToObservable = function(scope, expression) {
var observable = new Rx.Subject();
scope.$watch(expression, observable.onNext.bind(observable));
return observable;
}
var functionToObservable = function(scope, name) {
var observable = new Rx.Subject();
scope[name] = function(value) {
observable.onNext(value);
};
return observable;
}
var terms = functionToObservable($scope, 'searchMusic');
terms.sample(250)
.select(function(term) {
var promise = $q.all([albums.query(term), artists.query(term)]);
return Rx.promiseToObservable(promise)
})
.switchLatest()
.select(function(promise) { return [promise[0].data.albums, promise[1].data.artists]; })
.subscribe(function(result) {
$scope.albums = result[0].slice(0, 5);
$scope.artists = result[1].slice(0, 5);
$scope.music = $scope.albums.concat($scope.artists);
});
$scope.selectMusic = function(item) {
console.log('music selected!', item);
$scope.term = item.name;
};
$scope.imageSource = function(item) {
return item.images['medium'];
};
$scope.hasAlbums = function() {
return $scope.albums.length > 0;
};
$scope.hasArtists = function() {
return $scope.artists.length > 0;
};
}]);
404,状态显示,这意味着客户端错误。您的API路径不正确,状态显示为404,这意味着客户端错误。您的API路径不正确它显示跨区域请求错误当您的web应用程序位于不同的服务器上并且web API位于不同的API上时,会出现此错误 假设您的网站位于:192.168.0.1 您的请求api为192.168.0.65
确保web和api位于同一服务器上,如果不在,则允许跨区域请求显示跨区域请求错误当web应用程序位于不同的服务器上且web api位于不同的api上时,会出现此错误 假设您的网站位于:192.168.0.1 您的请求api为192.168.0.65
确保web和api都在同一台服务器上,如果没有,则允许跨区域请求,因此似乎存在两个问题,如提供的屏幕截图所示:
- 跨原点无法加载文件://
- 状态404
npm install -g http-server
安装后,请执行以下操作:
cd <YOUR_APP_LOCATION>
http-server
#OR
http-server -p 9090 -a 0.0.0.0 #this will start the webserver on port 9090
你能在你的工厂检查你的路径并纠正吗?这应该是您的问题所在。因此,如提供的屏幕截图所示,似乎有两个问题:
- 跨原点无法加载文件://
- 状态404
npm install -g http-server
安装后,请执行以下操作:
cd <YOUR_APP_LOCATION>
http-server
#OR
http-server -p 9090 -a 0.0.0.0 #this will start the webserver on port 9090
你能在你的工厂检查你的路径并纠正吗?这应该是您的问题。如果AngularJS应用程序使用http服务,则无法直接从文件系统运行该应用程序。这就是为什么它会给CORS错误。因为您正在尝试从文件协议触发http请求。
要使用$http服务,您需要一个服务器。要在本地进行测试,您可以在计算机上安装wamp/xampp服务器。如果AngularJS应用程序使用http服务,则无法直接从文件系统运行该应用程序。这就是为什么它会给CORS错误。因为您正在尝试从文件协议触发http请求。
要使用$http服务,您需要一个服务器。要在本地进行测试,您可以在您的计算机上安装wamp/xampp服务器。查看状态,您将获得404,API路径不正确如何更正API路径?请帮帮我。你需要向我们展示API代码。我使用rx.concurrence.js、rx.time.js和rx.js来实现这一点。你想看哪一个?同时更新te控制器代码。查看状态,您得到404,API路径不正确如何更正API路径?请帮帮我。你需要向我们展示API代码。我使用rx.concurrence.js、rx.time.js和rx.js来实现这一点。你想看哪一个?同时更新te控制器代码。