서비스에 $ http 요청을했습니다. 그러나 양식에 대한 사용자 입력에 따라 데이터를 검색해야합니다. url 속성은 baseUrl을 정의하고 params 속성은 flexibel URL을 정의합니다.
angular.module('mean.system').service('flightReq',function($http,$location){
var baseUrl='/system/views/airfareData.json';
var method='GET';
var Request={};
this.flightReq=function(){
$http({
method:method,
url:baseUrl,
headers:{'Content-Type': 'application/x-www-form-urlencoded'},
params: {'dep':'a', 'arr':'b','number':'c', 'date1':'d'},
cache:true
})
.success(function(data,status){
console.log(data);
console.log(status);
$location.path('/resultpresentation/example');
Request=data;
})
.error(function(data){
console.log(data||"Request failed");
$location.path('/');
});
};
this.getRequest=function(){
return Request
};
});
시피 PARAMS는 'A', 'B', 'C', 'D'로 고정 정의된다. 하지만 사용자의 입력에 따라 유연하게 사용하고 싶습니다. 어떻게하면 좋을까요?
$ http 요청이 서비스가 아닌 컨트롤러 일 경우 나는 $ scope.dep 등을 할 수 있습니다. 그러나이 경우 어떻게해야하는지 모르겠습니다. 어떤 제안? 건배
다만 매개 변수를 포함하는 객체를 $ http 호출에 전달하십시오. –
당신은 컨트롤러 (내가 사용자의 입력을 저장하는 곳)에서 얻은 객체를 전달해야한다는 것을 의미합니까? 내가 어떻게 그럴 수 있니? – Dribel
그냥 서비스에 인수로'$ scope.yourModelWithUserInput'을 전달한 다음 인수를 매개 변수로 사용하십시오 – maurycy