我正在尝试将一个routeParam传递给我的Angular控制器中的$ http.post,但我似乎没有正确传递该值。这是我在下面的内容。我没有正确使用$ routeParams吗?使用$scope.event_id = $routeParams.eventId;
时,部分页面会以Event: {{event_id}}
或事件:5正确呈现。
我需要$ http.post为php/getItem.php?itemID=5
传递event_id的HTML:
<a href="#/{{event.event_id}}">{{event.event_name}}</a>
routeProvider:
var pvApp = angular.module('pvApp', ['ngRoute']);
// configure our routes
pvApp.config(function($routeProvider) {
$routeProvider
// route for the home page
.when('/', {
templateUrl : 'pages/home.html',
controller : 'mainController'
})
.when('/:eventId', {
templateUrl : 'pages/event_detail.html',
controller : 'eventController'
});
});
控制器:
pvApp.controller('eventController', function($scope, $http, $routeParams) {
// $scope.event_id = $routeParams.eventId;
$http.post("php/getItem.php?itemID="+$routeParams.eventId).success(function(data){
$scope.items = data;
});
});
部分页面:
<div class="container">
<div class="row">
<div class="col-lg-12">
<h2>Event: {{event_id}}</h2>
</div>
</div>
</div>
答案 0 :(得分:0)
首先检查
console.log($routeParams.eventId);
正确地在控制台上打印event_id。
,然后强>
请注意,您使用POST
请求但url
GET
请求。
更改下面的请求并尝试
$http({
url: 'php/getItem.php',
method: "POST",
data: { itemID : $routeParams.eventId },
}).succes...
OR
$http.post('php/getItem.php', { itemID:$routeParams.eventId }).success...
在这里你可以获得Php中的数据,
$data = json_decode(file_get_contents("php://input"));
$data->itemID // to access name
OR
$http({
url: 'php/getItem.php',
method: "POST",
data: { itemID : $routeParams.eventId },
headers: {'Content-Type': 'application/x-www-form-urlencoded'},
}).succes...
在Php中,
$name= $_POST['itemID'];
可能是post可以帮助你。