AngularJS에서 $http를 사용하여 URL 인코딩 양식 데이터 게시
AngularJS로 작업할 때 개발자는 원격으로 AJAX 호출을 수행해야 하는 작업에 직면하는 경우가 많습니다. 서버. 매개변수를 전송하기 위해 다양한 접근 방식이 탐색되었습니다.
한 가지 방법은 jQuery의 $.param() 함수를 사용하는 것입니다. 그러나 jQuery 종속성을 제거하기 위해 데이터를 객체로 전달하고, 매개변수를 사용하고, JSON.stringify를 활용하는 등 여러 다른 옵션이 고려되었습니다.
해결책은 객체에서 나가는 요청 데이터를 URL로 변환하는 데 있습니다. 매개변수. AngularJS는 기본적으로 게시를 위해 데이터를 JSON으로 직렬화합니다. FORM 게시물로 게시하려면 직렬화 알고리즘을 변경하고 콘텐츠 유형을 "application/x-www-form-urlencoded"로 설정해야 합니다.
다음 수정된 코드는 이를 수행하는 방법을 보여줍니다.
$http({ method: 'POST', url: url, headers: {'Content-Type': 'application/x-www-form-urlencoded'}, transformRequest: function(obj) { var str = []; for(var p in obj) str.push(encodeURIComponent(p) + "&" + encodeURIComponent(obj[p])); return str.join("&"); }, data: {username: $scope.userName, password: $scope.password} }).then(function () {});
자세한 안내는 Ben Nadel의 블로그나 위에 제공된 예시를 참조하세요.
위 내용은 AngularJS에서 $http를 사용하여 URL로 인코딩된 양식 데이터를 게시하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!