AngularJS での $http サービスの使用法の概要
組み込みの $http サービスを使用して、外部の世界と直接通信できます。 $http サービスは、ブラウザのネイティブ XMLHttpRequest オブジェクトを単純にカプセル化します。次に、この記事では、angularjs での http サービスの使用方法について簡単に説明します。気に入った方は、
を参照してください。組み込みの $http サービスを使用して、外部と直接通信できます。 $http サービスは、ブラウザのネイティブ XMLHttpRequest オブジェクトを単純にカプセル化します。
1. チェーン呼び出し
$http サービスは、To を含む 1 つのパラメーターのみを受け入れることができる関数です。 HTTPリクエストの構成コンテンツを生成します。この関数は、success と error の 2 つのメソッドを持つ 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 メソッドを使用すると、対応するオブジェクトの成功または失敗の情報を表す特別なパラメーターが取得されます。また、2 つのオプションの関数をパラメーターとして受け入れることもできます。または、代わりに成功およびエラーのコールバックを使用することもできます。
promise.then(function(resp){ //resp是一个响应对象 },function(resp){ //带有错误信息的resp });
または次のようにします:
promise.success(function(data,status,config,headers){ //处理成功的响应 }); promise.error(function(data,status,hedaers,config){ //处理失败后的响应 });
then() メソッドと他の 2 つのメソッド 違いは、完全な応答オブジェクトを受け取るのに対し、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'} });
④データ (文字列またはオブジェクト)
このオブジェクトには、メッセージ本文データとして送信される情報が含まれています。サーバー。通常は、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( ) メソッドの応答オブジェクトには 4 つのプロパティが含まれています。
data
このデータは、変換された応答本文を表します (変換が定義されている場合)
status
応答 HTTP ステータス コード
headers
この関数はヘッダー情報のゲッター関数であり、1 つのパラメーターを受け入れて対応する名前を取得できます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 サービスは GET リクエストを /api/users.json に送信します。同じ GET リクエストが 2 回目に送信されると、$http サービスは実際に HTTP GET リクエストを送信せずに、キャッシュからリクエスト結果を取得します。
この例では、キャッシュが有効になっているため、AngularJS はデフォルトで $cacheFactory を使用します。このサービスは、AngularJS の開始時に自動的に作成されます。
AngularJS で使用されるキャッシュをさらにカスタム制御したい場合は、true の代わりにカスタム キャッシュ インスタンスをリクエストに渡すことができます。
AngularJS $http の知識についてお話しましょう。
AngularJS $http は、Web サーバー上のデータを読み取るためのサービスです。
$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ヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











HTTP ステータス コード 520 は、サーバーがリクエストの処理中に不明なエラーに遭遇し、より具体的な情報を提供できないことを意味します。サーバーがリクエストを処理しているときに不明なエラーが発生したことを示すために使用されます。サーバー構成の問題、ネットワークの問題、またはその他の不明な理由が原因である可能性があります。これは通常、サーバー構成の問題、ネットワークの問題、サーバーの過負荷、またはコーディング エラーが原因で発生します。ステータス コード 520 エラーが発生した場合は、Web サイト管理者またはテクニカル サポート チームに連絡して詳細情報と支援を得ることが最善です。

HTTP 301 ステータス コードの意味を理解する: Web ページ リダイレクトの一般的なアプリケーション シナリオ インターネットの急速な発展に伴い、Web ページの操作に対する人々の要求はますます高くなっています。 Web デザインの分野では、Web ページのリダイレクトは一般的かつ重要なテクノロジであり、HTTP 301 ステータス コードによって実装されます。この記事では、HTTP 301 ステータス コードの意味と、Web ページ リダイレクトにおける一般的なアプリケーション シナリオについて説明します。 HTTP301 ステータス コードは、永続的なリダイレクト (PermanentRedirect) を指します。サーバーがクライアントのメッセージを受信すると、

NginxProxyManager を使用して HTTP から HTTPS への自動ジャンプを実装する方法 インターネットの発展に伴い、ますます多くの Web サイトが HTTPS プロトコルを使用してデータ送信を暗号化し、データ セキュリティとユーザーのプライバシー保護を向上させ始めています。 HTTPS プロトコルは SSL 証明書のサポートを必要とするため、HTTPS プロトコルを展開する際には特定の技術サポートが必要です。 Nginx は強力で一般的に使用される HTTP サーバーおよびリバース プロキシ サーバーであり、NginxProxy

HTTP ステータス コード 403 は、サーバーがクライアントの要求を拒否したことを意味します。 http ステータス コード 403 の解決策は次のとおりです: 1. 認証資格情報を確認します。サーバーが認証を必要とする場合は、正しい資格情報が提供されていることを確認します。2. IP アドレス制限を確認します。サーバーが IP アドレスを制限している場合は、クライアントの IP アドレスは制限されています。ホワイトリストに登録されているか、ブラックリストに登録されていません。3. ファイルのアクセス許可設定を確認します。403 ステータス コードがファイルまたはディレクトリのアクセス許可設定に関連している場合は、クライアントがこれらのファイルまたはディレクトリにアクセスするための十分なアクセス許可を持っていることを確認してください。等

解決策: 1. リクエスト ヘッダーの Content-Type を確認する; 2. リクエスト本文のデータ形式を確認する; 3. 適切なエンコード形式を使用する; 4. 適切なリクエスト メソッドを使用する; 5. サーバー側のサポートを確認する。

クイック アプリケーション: PHP の実践的な開発ケース分析 複数ファイルの非同期 HTTP ダウンロード インターネットの発展に伴い、ファイル ダウンロード機能は多くの Web サイトやアプリケーションの基本的なニーズの 1 つになりました。複数のファイルを同時にダウンロードする必要があるシナリオでは、従来の同期ダウンロード方法は非効率的で時間がかかることがよくあります。このため、PHP を使用して HTTP 経由で複数のファイルを非同期にダウンロードするソリューションがますます一般的になってきています。この記事では、実際の開発事例を通して、PHP 非同期 HTTP の使用方法を詳しく分析します。

C# におけるネットワーク通信とセキュリティの一般的な問題と解決策 今日のインターネット時代では、ネットワーク通信はソフトウェア開発に不可欠な部分となっています。 C# では通常、データ送信のセキュリティ、ネットワーク接続の安定性など、ネットワーク通信の問題が発生します。この記事では、C# における一般的なネットワーク通信とセキュリティの問題について詳しく説明し、対応する解決策とコード例を提供します。 1. ネットワーク通信の問題 ネットワーク接続の中断: ネットワーク通信プロセス中に、ネットワーク接続が中断される場合があります。

C++ で HTTP ストリーミングを実装するにはどうすればよいですか? Boost.Asio と asiohttps クライアント ライブラリを使用して、SSL ストリーム ソケットを作成します。サーバーに接続し、HTTP リクエストを送信します。 HTTP 応答ヘッダーを受信して出力します。 HTTP 応答本文を受信して出力します。
