0
나는이처럼 보이는 링크에서 URL의 PARAMS을 얻기 위해 노력하고 있어요 :이처럼 내 컨트롤러에 stateProvider을 사용하고 localhost:8000\testSession\id&otp="otpvalue"
잘못된 값이 반환
: URL 형식이 있습니다 localhost:8000\testSession\1&otp="91PVSR"
:
class UserTestSessionController {
constructor($http, $state, UserTestSessionService, $stateParams) {
this.$http = $http;
this.$state = $state;
this.$stateParams = $stateParams;
this.userTestSessionService = UserTestSessionService;
}
startSession() {
let self = this;
let sessionId = this.$stateParams.id;
let otp = this.$stateParams.otp;
this.userTestSessionService.startSession(sessionId, otp).then(function(data) {
if(data.isError) {
self.$state.go("sessionExpired");
}
else {
self.$state.go("testingSession");
}
});
}
}
export default UserTestSessionController;
그리고 이것은 URL이 상태로 정의하는 방법이다 :
export default angular.module("examino.userTestSession", ["ui.router"])
.config(function($stateProvider) {
$stateProvider
.state("testingSession", {
url: "/testSession/:id?otp",
controller: "UserTestSessionController",
templateUrl: "./app/components/userTestSession/user-test-session.html",
controllerAs: "vm"
})
})
문제는 어디 갔지 발생 n ID 및 OTP 값을 얻으려고합니다.
Id=1&otp="someValue"
및 otp
은 undefined
입니다.
컨트롤러에서이 값을 읽을 수있는 올바른 방법은 무엇입니까?
당신이 상태의 URL 사양에서'otp' 부분없이 사용해 볼 수 :이 (URL의 변경)를 시도? – SylvainB
@SylvainB 방금 했었는데, 값은 같습니까? otp 값이 정의되지 않았습니다 ... –
@ nemo_87 URL 템플릿을보다 정확하게 지정하려 했습니까? url : "/ testSession/{id : [0-9] +}? otp" – Nedev