Я пытаюсь вызвать api, используя $ http и запрос get. Я получаю 404 не найден, и когда я смотрю на вызов, он добавляет http://localhost: 3000/ на фронт, что является проблемой. Как я могу остановить это от этого? Я использую угловые и инъекционные $ http.
app.factory('videos', ['$http', function($http){
function pullData(){
$http.get("api.redtube.com/data=redtube.Videos.searchVideos&output=json&search=hard&tags[]=Teen&thumbsize=medium").success(function(response){
o.videos.push(response)
});
}
pullData() // call the function to pull data from the API
var o = {videos: []
};
return o;
}])
Проблема заключается в URL, а не в провайдере $ http. Вы пропустили '?' символ, указывающий, что данные были частью строки запроса. Попробуйте использовать это вместо этого:
app.factory('videos', ['$http', function($http){
function pullData(){
$http.get("http://api.redtube.com/?data=redtube.Videos.searchVideos&output=json&search=hard&tags[]=Teen&thumbsize=medium").success(function(response){
o.videos.push(response)
});
}
pullData() // call the function to pull data from the API
var o = {videos: []
};
return o;
}])
EDIT: для проблем CORS, попробуйте использовать JSONP
// Instead of
$http.get(...)
// use
$http.jsonp(...);