웹 프론트엔드 JS 튜토리얼 AngularJS의 $http 서비스 사용법 소개

AngularJS의 $http 서비스 사용법 소개

May 16, 2016 pm 03:53 PM

내장된 $http 서비스를 사용하여 외부 세계와 직접 통신할 수 있습니다. $http 서비스는 단순히 브라우저의 기본 XMLHttpRequest 객체를 캡슐화합니다. 다음으로 이 글에서는Angularjs의 http 서비스 사용법에 대해 간략하게 소개하겠습니다. 좋아하는 친구들은

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

1. 체인 호출

$http 서비스는 하나의 매개변수만 허용하는 함수입니다. 이 매개변수는 To를 포함한 객체입니다. 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'
});
로그인 후 복사

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

①방법

은 다음과 같습니다. GET/DELETE/HEAD/JSONP/POST/PUT

②url: 절대 또는 상대 요청 대상
③params(문자열 맵 또는 객체)
이 키의 값은 문자열 맵이거나 객체는 쿼리 문자열로 변환되어 URL에 추가됩니다. 값이 문자열이 아닌 경우 JSON 직렬화됩니다.
예:

//参数会转为?name=ari的形式
$http({
params:{'name':'ari'}
});
로그인 후 복사

④data(문자열 또는 개체)

이 개체에는 메시지 본문 데이터로 전송될 정보가 포함되어 있습니다. 서버. 일반적으로 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( ) 메서드의 응답 개체에는 네 가지 속성이 포함되어 있습니다.

데이터

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

상태

응답 HTTP 상태 코드

headers

이 함수는 헤더 정보의 getter 함수이며 하나의 매개변수를 받아 해당 이름을 얻을 수 있습니다. value

예를 들어 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 대신 사용자 지정 캐시 인스턴스를 요청에 전달할 수 있습니다.

AngularJS $http 지식에 대해 알려드리겠습니다.

AngularJS $http는 웹 서버의 데이터를 읽는 서비스입니다.

$http.get(url)은 서버 데이터를 읽는 데 사용되는 함수입니다.

AngularJS 예

<p ng-app="myApp" ng-controller="customersCtrl"> 
<ul>
<li ng-repeat="x in names">
{{ x.Name + &#39;, &#39; + x.Country }}
</li>
</ul>
</p>
<script>
var app = angular.module(&#39;myApp&#39;, []);
app.controller(&#39;customersCtrl&#39;, function($scope, $http) {
$http.get("http://www.runoob.com/try/angularjs/data/Customers_JSON.php")
.success(function(response) {$scope.names = response.records;});
});
</script>
로그인 후 복사

더 많은 관련 튜토리얼을 보려면 JavaScript 기본 튜토리얼

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

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

http 상태 코드 520은 무엇을 의미합니까? http 상태 코드 520은 무엇을 의미합니까? Oct 13, 2023 pm 03:11 PM

HTTP 상태 코드 520은 서버가 요청을 처리하는 동안 알 수 없는 오류가 발생하여 더 구체적인 정보를 제공할 수 없음을 의미합니다. 서버가 요청을 처리하는 동안 알 수 없는 오류가 발생했음을 나타내는 데 사용됩니다. 이는 서버 구성 문제, 네트워크 문제 또는 기타 알 수 없는 이유로 인해 발생할 수 있습니다. 이는 일반적으로 서버 구성 문제, 네트워크 문제, 서버 과부하 또는 코딩 오류로 인해 발생합니다. 상태 코드 520 오류가 발생하면 웹사이트 관리자나 기술 지원팀에 문의하여 자세한 정보와 지원을 받는 것이 가장 좋습니다.

웹 페이지 리디렉션의 일반적인 애플리케이션 시나리오를 이해하고 HTTP 301 상태 코드를 이해합니다. 웹 페이지 리디렉션의 일반적인 애플리케이션 시나리오를 이해하고 HTTP 301 상태 코드를 이해합니다. Feb 18, 2024 pm 08:41 PM

HTTP 301 상태 코드의 의미 이해: 웹 페이지 리디렉션의 일반적인 응용 시나리오 인터넷의 급속한 발전으로 인해 사람들은 웹 페이지 상호 작용에 대한 요구 사항이 점점 더 높아지고 있습니다. 웹 디자인 분야에서 웹 페이지 리디렉션은 HTTP 301 상태 코드를 통해 구현되는 일반적이고 중요한 기술입니다. 이 기사에서는 HTTP 301 상태 코드의 의미와 웹 페이지 리디렉션의 일반적인 응용 프로그램 시나리오를 살펴봅니다. HTTP301 상태 코드는 영구 리디렉션(PermanentRedirect)을 나타냅니다. 서버가 클라이언트의 정보를 받을 때

Nginx 프록시 관리자를 사용하여 HTTP에서 HTTPS로 자동 점프를 구현하는 방법 Nginx 프록시 관리자를 사용하여 HTTP에서 HTTPS로 자동 점프를 구현하는 방법 Sep 26, 2023 am 11:19 AM

NginxProxyManager를 사용하여 HTTP에서 HTTPS로의 자동 점프를 구현하는 방법 인터넷이 발전하면서 점점 더 많은 웹사이트가 HTTPS 프로토콜을 사용하여 데이터 전송을 암호화하여 데이터 보안과 사용자 개인 정보 보호를 향상시키기 시작했습니다. HTTPS 프로토콜에는 SSL 인증서 지원이 필요하므로 HTTPS 프로토콜 배포 시 특정 기술 지원이 필요합니다. Nginx는 강력하고 일반적으로 사용되는 HTTP 서버 및 역방향 프록시 서버이며 NginxProxy

http 상태 코드 403이란 무엇입니까? http 상태 코드 403이란 무엇입니까? Oct 07, 2023 pm 02:04 PM

HTTP 상태 코드 403은 서버가 클라이언트의 요청을 거부했음을 의미합니다. http 상태 코드 403에 대한 해결 방법은 다음과 같습니다. 1. 서버에 인증이 필요한 경우 올바른 자격 증명이 제공되었는지 확인합니다. 2. 서버가 IP 주소를 제한한 경우 클라이언트의 IP 주소가 제한되어 있거나 블랙리스트에 없습니다. 3. 파일 권한 설정을 확인하십시오. 403 상태 코드가 파일 또는 디렉토리의 권한 설정과 관련되어 있으면 클라이언트가 해당 파일 또는 디렉토리에 액세스할 수 있는 권한이 있는지 확인하십시오. 등.

빠른 적용: 여러 파일의 PHP 비동기 HTTP 다운로드에 대한 실제 개발 사례 분석 빠른 적용: 여러 파일의 PHP 비동기 HTTP 다운로드에 대한 실제 개발 사례 분석 Sep 12, 2023 pm 01:15 PM

빠른 적용: PHP의 실제 개발 사례 분석 여러 파일의 비동기 HTTP 다운로드 인터넷의 발전으로 파일 다운로드 기능은 많은 웹 사이트와 응용 프로그램의 기본 요구 사항 중 하나가 되었습니다. 여러 파일을 동시에 다운로드해야 하는 시나리오의 경우 기존 동기 다운로드 방법은 비효율적이고 시간이 많이 걸리는 경우가 많습니다. 이러한 이유로 PHP를 사용하여 HTTP를 통해 여러 파일을 비동기적으로 다운로드하는 것이 점점 더 일반적인 솔루션이 되었습니다. 본 글에서는 실제 개발 사례를 통해 PHP 비동기 HTTP를 활용하는 방법을 자세히 분석해 보겠습니다.

http 요청 415 오류 해결 방법 http 요청 415 오류 해결 방법 Nov 14, 2023 am 10:49 AM

해결 방법: 1. 요청 헤더에서 Content-Type을 확인합니다. 2. 요청 본문에서 데이터 형식을 확인합니다. 3. 적절한 인코딩 형식을 사용합니다. 4. 적절한 요청 방법을 사용합니다. 5. 서버측 지원을 확인합니다.

C#의 일반적인 네트워크 통신 및 보안 문제와 솔루션 C#의 일반적인 네트워크 통신 및 보안 문제와 솔루션 Oct 09, 2023 pm 09:21 PM

C#의 일반적인 네트워크 통신 및 보안 문제와 해결 방법 오늘날 인터넷 시대에 네트워크 통신은 소프트웨어 개발에 없어서는 안 될 부분이 되었습니다. C#에서는 일반적으로 데이터 전송 보안, 네트워크 연결 안정성 등과 같은 일부 네트워크 통신 문제가 발생합니다. 이 문서에서는 C#의 일반적인 네트워크 통신 및 보안 문제에 대해 자세히 설명하고 해당 솔루션과 코드 예제를 제공합니다. 1. 네트워크 통신 문제 네트워크 연결 중단: 네트워크 통신 과정에서 네트워크 연결이 중단될 수 있으며, 이로 인해

http.PostForm 함수를 사용하여 양식 데이터와 함께 POST 요청 보내기 http.PostForm 함수를 사용하여 양식 데이터와 함께 POST 요청 보내기 Jul 25, 2023 pm 10:51 PM

http.PostForm 함수를 사용하여 양식 데이터와 함께 POST 요청을 보낼 수 있습니다. Go 언어의 http 패키지에서는 http.PostForm 함수를 사용하여 양식 데이터와 함께 POST 요청을 보낼 수 있습니다. http.PostForm 함수의 프로토타입은 다음과 같습니다: funcPostForm(urlstring,dataurl.Values)(resp*http.Response,errerror)where, u

See all articles