如何将参数发送到另一个控制器中的 GET API
How to send parameter to a GET API in another controller
我有 2 页。第 1 页是信息页。第 2 页是状态页。每个页面都有自己的控制器(infoController 和 statusController)。在第 1 页上的表单提交上,我必须调用 Post API,然后导航到第 2 页。我还需要连同它一起发送一个 ID。在第 2 页上,我必须使用此 ID 发出 GET 请求。
POST API
/information
RESPONSE
statusCode: "200"
statusMessage: string
agencyId: "ddsdsa"
GET API
/certification/view/{agencyId}
控制器页面 1
function postData() {
var dataToSend = {
agencyName: vm.data.agencyName,
businessLegalName: vm.data.businessLegalName,
};
var postPromise = httpService.apiPostRequest ('/information', dataToSend);
postPromise.then(function(response){
if(response.data.statusCode == '200'){
$state.go ("accsetup.status");
Id = response.data.id;
}
})
.catch(function(error){
console.log (error);
});
}
控制器第 2 页
function StatusController ($http, httpService) {
var vm = this;
var promise = httpService.apiGetRequest('/certification/view/ddsdsa');
promise.then(function(response){
vm.data = response.data;
})
.catch(function(error){
console.log (error);
});
}
在您的信息页面中,您可以使用$state.go
将数据发送到新视图。
if (response.data.statusCode == '200'){
var agencyId = response.data.id; // e.g. ddsdsa
$state.go("accsetup.status", {agencyId: agencyId});
}
然后在您的 状态页面 中,您使用 uiRouter 的 $stateParams
服务检索此值。
function StatusController ($http, $stateParams, httpService) {
var vm = this;
var agencyId = $stateParams.agencyId; // ddsdsa
var promise = httpService.apiGetRequest('/certification/view/' + agencyId );
// etc
}
为此,您需要更新状态定义:
.state('accsetup.status', {
params: {agencyId: null} // add this
})
我有 2 页。第 1 页是信息页。第 2 页是状态页。每个页面都有自己的控制器(infoController 和 statusController)。在第 1 页上的表单提交上,我必须调用 Post API,然后导航到第 2 页。我还需要连同它一起发送一个 ID。在第 2 页上,我必须使用此 ID 发出 GET 请求。
POST API
/information
RESPONSE
statusCode: "200"
statusMessage: string
agencyId: "ddsdsa"
GET API
/certification/view/{agencyId}
控制器页面 1
function postData() {
var dataToSend = {
agencyName: vm.data.agencyName,
businessLegalName: vm.data.businessLegalName,
};
var postPromise = httpService.apiPostRequest ('/information', dataToSend);
postPromise.then(function(response){
if(response.data.statusCode == '200'){
$state.go ("accsetup.status");
Id = response.data.id;
}
})
.catch(function(error){
console.log (error);
});
}
控制器第 2 页
function StatusController ($http, httpService) {
var vm = this;
var promise = httpService.apiGetRequest('/certification/view/ddsdsa');
promise.then(function(response){
vm.data = response.data;
})
.catch(function(error){
console.log (error);
});
}
在您的信息页面中,您可以使用$state.go
将数据发送到新视图。
if (response.data.statusCode == '200'){
var agencyId = response.data.id; // e.g. ddsdsa
$state.go("accsetup.status", {agencyId: agencyId});
}
然后在您的 状态页面 中,您使用 uiRouter 的 $stateParams
服务检索此值。
function StatusController ($http, $stateParams, httpService) {
var vm = this;
var agencyId = $stateParams.agencyId; // ddsdsa
var promise = httpService.apiGetRequest('/certification/view/' + agencyId );
// etc
}
为此,您需要更新状态定义:
.state('accsetup.status', {
params: {agencyId: null} // add this
})