>  기사  >  웹 프론트엔드  >  Anglejs에서 http 서버를 사용하는 방법

Anglejs에서 http 서버를 사용하는 방법

php中世界最好的语言
php中世界最好的语言원래의
2018-05-29 15:02:072124검색

이번에는Angularjs에서 http서버를 사용하는 방법을 보여드리고,angularjs에서 http서버를 사용하는 방법에 대한 주의사항은 무엇인지 살펴보겠습니다.

내장된 $http 서비스를 사용하여 외부 세계와 직접 통신할 수 있습니다. $http 서비스는 단순히 브라우저의 기본 XMLHttpRequest 객체를 캡슐화합니다.

1. 체인 호출

$http 서비스는 하나의 매개변수만 허용하는 함수입니다. 이 매개변수는 HTTP 요청을 생성하는 데 사용되는 구성 내용을 포함하는 개체입니다. 이 함수는 성공과 오류라는 두 가지 메서드가 있는 Promise 개체를 반환합니다.

$http({
url:'data.json',
method:'GET'
}).success(function(data,header,config,status){
//响应成功
}).error(function(data,header,config,status){
//处理响应失败
});

2. Promise 객체 반환

var promise=$http({
method:'GET',
url:"data.json"
});

$http 메소드는 Promise 객체를 반환하므로 응답이 반환될 때 then 메소드를 사용하여 콜백을 처리할 수 있습니다. then 메소드를 사용하면 해당 객체의 성공 또는 실패 정보를 나타내는 특수 매개변수를 얻을 수 있으며 두 개의 선택적 함수를 매개변수로 사용할 수도 있습니다. 또는 대신 성공 및 오류 콜백을 사용할 수 있습니다.

promise.then(function(resp){
//resp是一个响应对象
},function(resp){
//带有错误信息的resp
});

또는 다음과 같이

promise.success(function(data,status,config,headers){
//处理成功的响应
});
promise.error(function(data,status,hedaers,config){
//处理失败后的响应
});

then() 메소드와 다른 두 메소드의 주요 차이점은 완전한 응답 객체를 수신하는 반면, Success() 및 error()는 응답 객체를 파괴한다는 것입니다.

3. 빠른 요청

①$http.get('/api/users.json');

get() 메소드는 HttpPromise 객체를 반환합니다.

예를 들어 delete/head/jsonp/post/put을 보낼 수도 있습니다. 함수 내에서 허용되는 매개변수는 148페이지를 참조하세요.

② jsonp 요청을 보내는 예를 들어보세요. JSONP 요청의 경우 URL에는 JSON_CALLBACK이라는 단어가 포함되어야 합니다.

jsonp(url,config) 여기서 config는 선택 사항입니다

var promise=$http.jsonp("/api/users.json?callback=JSON_CALLBACK");

4. $http를 함수로 사용할 수도 있습니다. 이 경우 XHR 개체 구성 방법을 설명하기 위해 설정 개체를 전달해야 합니다.

$http({
method:'GET',
url:'/api/users.json',
params:{
'username':'tan'
});

설정 개체에는 다음과 같은 기본 키가 포함될 수 있습니다.

1method

다음과 같을 수 있습니다: GET/DELETE/HEAD/JSONP/POST/PUT

2url: 절대 또는 상대 요청 대상

3params(문자 문자열 맵 또는 개체)

이 키의 값은 문자열 맵 또는 개체이며, 쿼리 문자열로 변환되어 URL에 추가됩니다. 값이 문자열이 아닌 경우 JSON 직렬화됩니다.

예:

//参数会转为?name=ari的形式
$http({
params:{'name':'ari'}
});

4data(문자열 또는 개체)

이 개체에는 메시지 본문으로 서버에 전송될 데이터가 포함되어 있습니다. 일반적으로 POST 요청을 보낼 때 사용됩니다.

AngularJS 1.3부터 ​​POST 요청으로 바이너리 데이터를 보낼 수도 있습니다. Blob 개체를 보내려면 data 매개변수를 사용하여 간단히 전달하면 됩니다.

예:

var blob=new Blob(['Hello world'],{type:'text/plain'});
$http({
method:'POST',
url:'/',
data:blob
});

4. 응답 개체

AngularJS가 then() 메서드에 전달한 응답 개체에는 네 가지 속성이 포함되어 있습니다.

◇data: 이 데이터는 변환된 응답 본문을 나타냅니다(변환이 정의된 경우)

◇status: 응답의 HTTP 상태 코드

◇headers: 이 함수는 헤더 정보의 getter 함수이며 하나의 매개변수를 받을 수 있습니다. 사용 해당 이름 값을 가져오려면

예를 들어 다음 코드를 사용하여 X-Auth-ID 값을 가져옵니다.

$http({
method: 'GET',
url: '/api/users.json'
}).then (resp) {
// 读取X-Auth-ID
resp.headers('X-Auth-ID');
});

◇config: 이 개체는 원래 요청을 생성하는 데 사용되는 완전한 설정 개체입니다.

◇ statusText(문자열): 이 문자열은 응답의 HTTP 상태 텍스트입니다.

5. HTTP 요청 캐싱

기본적으로 $http 서비스는 요청을 로컬로 캐시하지 않습니다. 개별 요청을 할 때 부울 값이나 캐시 인스턴스를 $http 요청에 전달하여 캐싱을 활성화할 수 있습니다.

$http.get('/api/users.json',{ cache: true })
.success(function(data) {})
.error(function(data) {});

요청이 처음 전송되면 $http 서비스는 /api/users.json에 GET 요청을 보냅니다. 동일한 GET 요청이 두 번째로 전송되면 $http 서비스는 실제로 HTTP GET 요청을 전송하지 않고 캐시에서 요청 결과를 검색합니다.
이 예에서는 캐싱이 활성화되어 있으므로 AngularJS는 기본적으로 $cacheFactory를 사용합니다. 이 서비스는 시작 시 AngularJS에 의해 자동으로 생성됩니다.

AngularJS에서 사용하는 캐시에 대해 더 많은 사용자 지정 제어를 원하는 경우 true 대신 사용자 지정 캐시 인스턴스를 요청에 전달할 수 있습니다.

이 기사의 사례를 읽은 후 방법을 마스터했다고 생각합니다. 더 흥미로운 정보를 보려면 PHP 중국어 웹사이트의 다른 관련 기사를 주목하세요!

추천 자료:

일반적으로 사용되는 JavaScript 문자열 차단 방법 요약

vue keep-alive를 사용하여 데이터를 요청하는 방법

위 내용은 Anglejs에서 http 서버를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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