モバイル アプリケーションはサーバーから継続的にデータを取得し、それをユーザーのデバイスに表示する必要があるため、クロスプラットフォーム開発フレームワークとして、Uniapp のネットワーク リクエスト機能はその不可欠な部分です。 Uniapp で開発する場合、ネットワーク リクエスト インターフェイスは非常にシンプルです。公式のネットワーク リクエスト API または uni-app が提供するサードパーティのネットワーク リクエスト ライブラリを使用できます。ただし、初心者にとっては、ネットワーク リクエストの結果の詳細が一部理解できない場合があります。この記事では、Uniapp ネットワーク リクエスト結果の関連内容を詳しく紹介します。
Uniapp 公式ネットワーク リクエスト API
uni.request(object) は、HTTP/HTTPS リクエストを送信してデータを返すことができる、Uniapp 公式ネットワーク リクエスト API。構文は次のとおりです。
uni.request({
url: '',
メソッド: '',
データ: {},
ヘッダー: {},
成功: res => {},
失敗: () => {},
完了: () => {}
})
ここで URL is Required、要求されたアドレスを表します。method はオプション、要求メソッドを表します。デフォルトは GET、data はオプション、要求されたデータを表します。header はオプション、要求ヘッダー情報を表します。success、fail、および complete も同様です。オプション。それぞれリクエストの成功、失敗、完了後のコールバック関数を表します。
上記は最も基本的なネットワーク リクエストの構成例ですが、リクエストのタイムアウト、応答データの種類、証明書の検証なども設定できます。以下では、ネットワークリクエスト完了後にその結果を取得する方法について説明します。
ネットワーク リクエスト結果の構造体
ネットワーク リクエストが成功すると、サーバーは応答結果を返します。Uniapp では、応答結果は応答オブジェクトの data 属性に格納されます。具体的な構造を次の図に示します。
応答ステータス コードは statusCode 属性に格納され、ステータス コードの意味は HTTP プロトコルを通じて照会できます。 。 header属性にはレスポンスヘッダ情報が格納されます。応答データは data 属性に格納され、そのデータ型は string または ArrayBuffer 型で、JSON.parse() を通じてオブジェクト型に変換できます。
Uniappはネットワークリクエストの結果を取得します
サーバーがリクエストに正常に応答すると、成功コールバック関数が実行され、このとき関数のパラメータを通じて応答結果を取得できます。 。
uni.request({
url: 'url', success: function(res) { console.log(res.data); // 响应数据 console.log(res.statusCode); // 响应状态码 console.log(res.header); // 响应头信息 }, fail: function(res) { console.log(res.errMsg); // 错误信息 }
})
ここでの res は、ネットワーク リクエストの結果オブジェクトです。成功コールバック関数では、res.data、res を渡すことができます。 statusCode や res.header などの属性は、ネットワークリクエストの応答結果を取得します。
応答データの変換
ネットワーク リクエストによって返されるデータ形式は不確実であり、JSON 文字列、XML 文字列、またはその他の形式のデータである可能性があるため、応答データを変換する必要があります。 Uniapp には、JSON 文字列をオブジェクト型に変換できる JSON.parse() メソッドが組み込まれています。応答データが JSON 形式でない場合は、他の変換方法を使用できます (たとえば、XML データは xml2js ライブラリを使用して変換する必要があります)。
uni.request({
url: 'url',
成功: function(res) {
var jsonStr = res.data; var jsonObj = JSON.parse(jsonStr); // 将JSON字符串转成JSON对象
},
失敗: function(res) {
console.log(res.errMsg);
}
})
例外処理
ネットワーク リクエストでは、ネットワークの利用不能、サーバー障害、その他のエラーなどの異常な状況が発生する場合もあります。 Uniapp の失敗コールバック関数は、ネットワーク リクエストでエラーが発生したときにトリガーされ、エラー情報に基づいて処理できます。
uni.request({
url: 'url',
成功: function(res) {
console.log(res.data);
},
失敗: function(res) {
console.log(res.errMsg); // 打印错误信息
}
})
まとめ
上記の紹介を通じて、Uniapp ネットワーク リクエストの結果の構造、ネットワーク リクエストの結果を取得する方法、応答を理解しました。データ変換、例外処理、およびその他の関連コンテンツ。ネットワーク リクエストは、モバイル アプリケーション開発に不可欠な部分であり、多様な方法でデータを表示し、ユーザーに豊かでダイナミックなエクスペリエンスを提供し、アプリケーションの対話性と柔軟性を向上させるのにも役立ちます。
以上がuniapp ネットワークリクエストの結果の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。