jQuery 없이 $http로 URL 인코딩 데이터 게시
AngularJS 초보자로서 당신은 jQuery 없이 AJAX 요청을 할 수 있는 방법을 찾고 있습니다. jQuery에 의존합니다. $.param을 사용한 초기 접근 방식은 효과가 있었지만 jQuery 종속성을 제거하고 싶습니다.
데이터 및 매개 변수를 사용한 후속 시도는 원하는 결과를 얻지 못했고 JSON 문자열화도 실패했습니다. AngularJS는 확실히 이에 대한 방법을 제공하므로 솔루션을 살펴보겠습니다.
URL 매개변수에 대한 데이터 변환
POST를 통해 양식 데이터를 보내는 핵심은 개체를 변환하는 것입니다. 데이터를 URL 매개변수로 변환합니다. AngularJS는 요청 본문을 보내기 전에 사용자 정의할 수 있는 변환 요청 함수를 제공합니다.
변환이 포함된 게시물 요청의 예
$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 () {});
이 예에서는
AngularJS 1.4 및 Beyond
AngularJS 1.4 이상에서는 이 프로세스를 더욱 단순화하기 위한 새로운 서비스가 도입되었습니다. 그러나 위의 접근 방식은 이전 버전에서도 유효한 솔루션으로 남아 있습니다.
위 내용은 jQuery 없이 AngularJS에서 URL 인코딩 데이터를 게시하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!