AngularJS 의 ng Http Request 와 response 형식 변환 방법
angular 가 Single Page Application 으로 추천 하 는 상호작용 방식 은 당연히 json 기반 ajax 호출 입 니 다.그러나 오늘 말 하고 자 하 는 것 은 불행 하 게 도 남아 있 거나 통제 할 수 없 는 서비스 에서 일 하고 있 습 니 다. 이 서 비 스 는 비 json 제출 방식 (일반적인 폼 (form) 제출 또는 다른 사용자 정의 데이터 형식 일 수도 있 습 니 다) 을 바탕 으로 하 는 것 입 니 다. 그러면 저 희 는 ng 내부 $http 기본 request / response 형식 전환 방식 만 바 꿀 수 있 습 니 다.
다행히도 ng $http 는 우리 에 게 다양한 사용 가능 한 데이터 형식 을 제공 합 니 다 (아래 demo 는 form 제출 방식 을 예 로 들 것 입 니 다).
* * 일부 단독 http request 설정:
http ajax 방식 의 마지막 매개 변 수 는 http 설정 정보 입 니 다. transformRequest 를 포함 하여 transformRequest 를 이용 하여 ajax 에서 데 이 터 를 보 내기 전에 데이터 형식 을 바 꿀 수 있 습 니 다. 예 를 들 어 아래 demo:
$http.post("/url", {
id: 1,
name: "greengerong"
}, {
transformRequest: function(request) {
return $.param(request);
}
});
jQuery 의 $. param 을 이용 하여 폼 제출 방식 의 형식 을 바 꿉 니 다. 그래서 우리 가 볼 수 있 는 request body 는:
id=1&name=greengerong
* * * 전체 app 에 대한 http request 설정:
http 의 데이터 변환 형식 을 설정 해 야 한다 면 config 단계 에서 $http Provider 의 기본 행동 을 설정 할 수 있 습 니 다.
angular.module("app", [])
.config(["$httpProvider", function($httpProvider) {
$httpProvider.defaults.transformRequest = [
function(request) {
return $.param(request);
}
];
}
]);
이렇게 하면 우 리 는 쉽게 form 제출 방식 으로 바 뀔 수 있다.
마찬가지 로 $http 도 우리 에 게 transformResponse 방식 을 제공 합 니 다. 우 리 는 자신의 response 전환 을 만 들 수 있 습 니 다. 예 를 들 어 json 전에 사용자 정의 접 두 사 를 넣 어 json array 공격 을 방지 하 는 등 입 니 다.
본 고 에서 말 한 것 이 여러분 의 AngularJS 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.