gpt4 book ai didi

javascript - 如何更改 AngularJS get 请求的结构?

转载 作者:行者123 更新时间:2023-11-27 23:10:50 26 4
gpt4 key购买 nike

作为 AngularJS 应用程序的一部分,我有以下状态:

.state('app.stages', {
url: '/stages',
views: {
'menuContent': {
templateUrl: 'templates/stages.html',
controller: 'StagesCtrl'
}
}
})

.state('app.stage', {
url: '/stages/:stageId',
views: {
'menuContent': {
templateUrl: 'templates/stage.html',
controller: 'StageCtrl'
}
}

关联的 Controller 是:

controller('StagesCtrl', function($scope,$http) {
$http.get("http://localhost/apistages")
.then(function(response) {
$scope.stages = response.data;
});
})

.controller('StageCtrl', function($scope, $http, $stateParams) {

$http({
method: 'GET',
url: 'http://localhost/apistage/',
params: {stageId: $stateParams.stageId}
}).then(function successCallback(response) {
$scope.stage = response.data;
}, function errorCallback(response) {

});
});

阶段列表运行良好,但阶段 Controller 中的查询尝试访问 http://localhost/apistage/?stageId=43这会导致 500(内部服务器错误)。

我需要使用的URL格式是http://localhost/apistage/43 。如何调整查询以获取该 URL?

最佳答案

然后不要在 $http GET 请求上使用 params 选项。相反,在调用服务时只需在 URL 上使用简单的字符串连接

$http({
method: 'GET',
url: 'http://localhost/apistage/'+$stateParams.stageId //append state parameter in URL itself
})

对于 REST API,我强烈建议您使用 ngResource($resource) Angular 模数。它具有良好的处理剩余调用的能力。

关于javascript - 如何更改 AngularJS get 请求的结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36200666/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com