AngularJS의 $http 서비스 사용법 소개
내장된 $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 + ', ' + x.Country }} </li> </ul> </p> <script> var app = angular.module('myApp', []); app.controller('customersCtrl', function($scope, $http) { $http.get("http://www.runoob.com/try/angularjs/data/Customers_JSON.php") .success(function(response) {$scope.names = response.records;}); }); </script>
더 많은 관련 튜토리얼을 보려면 JavaScript 기본 튜토리얼

핫 AI 도구

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

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

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

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

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

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

뜨거운 주제











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

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

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

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

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

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

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

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