>웹 프론트엔드 >JS 튜토리얼 >AngularJS에서 $http를 사용하여 URL로 인코딩된 양식 데이터를 게시하는 방법은 무엇입니까?

AngularJS에서 $http를 사용하여 URL로 인코딩된 양식 데이터를 게시하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-12-24 13:15:13814검색

How to POST URL-Encoded Form Data Using $http in AngularJS?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.