2014-09-11 2 views
0

나는 HTTP이 같은 각도에서받을 수 있나요 노력하고 있어요 :매개 변수와 객체를 게시하려고 - 각도 JS

여기
$http 
    .get(some url, { 
     params: { 
      description: params.description, 
      from: params.from, 
      to: params.to 
     } 
    }) 
    .success(function (data,status) { 
      $scope.info_show = data 
    }); 

는 일이의 params 개체 매개 변수가 그래서 만약, 사용자 입력에 기반을 둔 설정 사용자가 from 속성 (일부 입력 텍스트 필드)에 대해 아무 것도 입력하지 않으면 정의되지 않습니다.

내 문제는 필터링하지 않기 때문에 params 객체를 전달할 수 없다는 것입니다. 속성 중 하나라도 정의되지 않은 채 전달하면 기본적으로 웹 서비스가 모든 것을 반환합니다. 이 일을 동적으로하는 방법?

+0

은 당신이 HTML을 제공 할 수

이 하나에서 필터링 필터링 할 PARAMS/속성의 목록과 src 객체를 수신 양식을 사용하면 솔루션을 더 쉽게 찾을 수 있습니다. – maurycy

+0

개체 이름과 입력으로 params를 사용하고 있습니다. – topless

+0

@topless 내가 그것을 바꾼다면 나에게 같은 결과를 줄 것입니다 ... – user2405469

답변

0

params 개체를 필터링하는 함수를 사용할 수 있습니다.

var filterParams = function(params, src) { 
    var result = {}; 
    angular.forEach(params, function(p) { 
    if (angular.isDefined(src[p])) { 
     result[p] = src[p]; 
    } 
    }); 
    return result; 
}; 

그리고 다음과 같이 사용 :

$http.get(some url, { 
    params: filterParams(['from', 'to', 'description'], params) 
}) 
.success(function (data,status) { 
    $scope.info_show = data 
});