0
我试图从URL部分获取值到我的$ http getURL请求中。我尝试了一些解决方案(如HTML5mode),但没有取得成功。
这里是我的代码:
angular.module('myapp123.products', [])
.factory('productsApi', ['$http', '$location',
function($http, $location){
var BASE_URL = 'http://stashdapp-t51va1o0.cloudapp.net/api/item/';
return {
get: getApiData
};
function getData() {
var product_id = $location.path().split("/")[3] || "Unknown"; //URL = /#/product/id/1234 <---
return $http.get(BASE_URL + product_id);
}
}]
)
.controller('productsCtrl', ['$scope', '$log', 'productsApi', 'UserService',
function($scope, $log, productsApi, UserService) {
$scope.isVisible = function(name){
return true;// return false to hide this artist's albums
};
// <====== Rewrite with accounts preferences
productsApi.getApiData()
.then(function (result) {
//console.log(JSON.stringify(result.data)) //Shows log of API incoming
$scope.products = result.data;
})
.catch(function (err) {
$log.error(err);
});
}
]);
Thanks-做我需要做什么我的HTML标记(带底座)?我将$ locationProvider.html5Mode更改为requireBase:false。 – Yian
我不确定我了解你的问题。我没有看到你的html模板,我不知道你想要实现什么,但是这应该回答你如何将url路径传递给$ http get请求的原始问题。 –
谢谢,但你的例子似乎对我所有的url都做了一件奇怪的事情 - 它们都破了。它似乎删除/#/从我所有的url – Yian