


Analisis ringkas tentang pemintas tindak balas HTTP AngularJs_AngularJS
Mengapa menggunakan pemintas?
Pada bila-bila masa, jika kami ingin menambah kefungsian global pada permintaan, seperti pengesahan, pengendalian ralat, dll., ini adalah cara yang lebih baik untuk memintas permintaan sebelum ia dihantar ke pelayan atau apabila pelayan kembali.
angularJs menyediakan cara untuk mengendalikannya di peringkat global melalui pemintas
Pemintas membenarkan anda untuk:
Permintaan memintas dengan melaksanakan kaedah permintaan: Kaedah ini akan dilaksanakan sebelum $http menghantar permintaan ke latar belakang, jadi anda boleh mengubah suai konfigurasi atau melakukan operasi lain. Kaedah ini menerima objek konfigurasi permintaan sebagai parameter dan mesti mengembalikan objek konfigurasi atau janji. Jika objek konfigurasi yang tidak sah atau janji dikembalikan, ia akan ditolak, menyebabkan panggilan $http gagal.
Memintas respons dengan melaksanakan kaedah respons: Kaedah ini akan dilaksanakan selepas $http menerima respons daripada latar belakang, jadi anda boleh mengubah suai respons atau melakukan operasi lain. Kaedah ini menerima objek tindak balas sebagai parameter dan mesti mengembalikan objek respons atau janji. Objek tindak balas termasuk konfigurasi permintaan, pengepala, status dan data dari latar belakang. Jika objek respons tidak sah dikembalikan atau janji akan ditolak, panggilan $http akan gagal.
Memintas pengecualian permintaan dengan melaksanakan kaedah requestError: Kadangkala permintaan gagal dihantar atau ditolak oleh pemintas. Pemintas pengecualian permintaan menangkap permintaan yang diganggu oleh pemintas permintaan sebelumnya. Ia boleh digunakan untuk memulihkan permintaan atau kadangkala untuk membuat asal konfigurasi yang dibuat sebelum permintaan, seperti menutup bar kemajuan, mengaktifkan butang dan kotak input, dsb.
Memintas pengecualian respons dengan melaksanakan kaedah responseError: Kadangkala panggilan latar belakang kami gagal. Terdapat juga kemungkinan bahawa ia telah ditolak oleh pemintas permintaan, atau diganggu oleh pemintas respons sebelumnya. Dalam kes ini, pemintas pengecualian respons boleh membantu kami menyambung semula panggilan latar belakang.
Teras pemintas ialah kilang servis, yang ditambahkan pada tatasusunan $httpprovider.interceptors. Daftar dalam $httpProvider.
AngularJs menyediakan empat pemintas, termasuk dua pemintas kejayaan (permintaan, tindak balas) dan dua pemintas kegagalan (requestError, responseError).
Tambah satu atau lebih pemintas pada perkhidmatan:
angular.module("myApp", []) .factory('httpInterceptor', [ '$q', '$injector',function($q, $injector) { var httpInterceptor = { 'responseError' : function(response) { ...... return $q.reject(response); }, 'response' : function(response) { ...... return response; }, 'request' : function(config) { ...... return config; }, 'requestError' : function(config){ ...... return $q.reject(config); } } return httpInterceptor; }
Kemudian gunakan $httpProvider untuk mendaftarkan pemintas dalam fungsi .config()
angular.module("myApp", []) .config([ '$httpProvider', function($httpProvider) { $httpProvider.interceptors.push('httpInterceptor'); } ]);
Contoh sebenar: (Pemintasan 401, 404)
routerApp.config([ '$httpProvider', function($httpProvider) { $httpProvider.interceptors.push('httpInterceptor'); } ]); routerApp.factory('httpInterceptor', [ '$q', '$injector',function($q, $injector) { var httpInterceptor = { 'responseError' : function(response) { if (response.status == 401) { var rootScope = $injector.get('$rootScope'); var state = $injector.get('$rootScope').$state.current.name; rootScope.stateBeforLogin = state; rootScope.$state.go("login"); return $q.reject(response); } else if (response.status === 404) { alert("404!"); return $q.reject(response); } }, 'response' : function(response) { return response; } } return httpInterceptor; } ]);
Suntikan sesi (pemintas permintaan)
Terdapat dua cara untuk melaksanakan pengesahan bahagian pelayan. Yang pertama ialah pengesahan Berasaskan Kuki tradisional. Pengguna disahkan untuk setiap permintaan melalui kuki sebelah pelayan. Cara lain ialah pengesahan Berasaskan Token. Apabila pengguna log masuk, dia akan mendapat sessionToken dari latar belakang. SessionToken mengenal pasti setiap pengguna di bahagian pelayan dan disertakan dalam setiap permintaan yang dihantar ke pelayan.
SessionInjector berikut menambah pengepala x-session-token pada setiap permintaan yang ditangkap (jika pengguna semasa log masuk):
<!-- lang: js --> module.factory('sessionInjector', ['SessionService', function(SessionService) { var sessionInjector = { request: function(config) { if (!SessionService.isAnonymus) { config.headers['x-session-token'] = SessionService.token; } return config; } }; return sessionInjector; }]); module.config(['$httpProvider', function($httpProvider) { $httpProvider.interceptors.push('sessionInjector'); }]);
Kemudian buat permintaan:
<!-- lang: js --> $http.get('https://api.github.com/users/naorye/repos');
Objek konfigurasi sebelum dipintas oleh sessionInjector adalah seperti ini:
<!-- lang: js --> { "transformRequest": [ null ], "transformResponse": [ null ], "method": "GET", "url": "https://api.github.com/users/naorye/repos", "headers": { "Accept": "application/json, text/plain, */*" } }
Objek konfigurasi selepas dipintas oleh sessionInjector adalah seperti ini:
<!-- lang: js --> { "transformRequest": [ null ], "transformResponse": [ null ], "method": "GET", "url": "https://api.github.com/users/naorye/repos", "headers": { "Accept": "application/json, text/plain, */*", "x-session-token": 415954427904 } }
Kandungan di atas memperkenalkan anda kepada pengetahuan yang berkaitan tentang pemintas respons HTTP AngularJs Saya harap perkongsian artikel ini dapat membantu anda.

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Pemintas ialah corak reka bentuk yang membolehkan gelagat tersuai disisipkan sebelum dan selepas pelaksanaan kaedah Dalam Go, ia boleh dilaksanakan melalui perisian tengah net/http. Ia mempunyai kelebihan kebolehskalaan, kebolehgunaan semula, kebolehujian, dsb., dan boleh digunakan dalam senario seperti pengesahan, kebenaran, caching, pengelogan dan pengendalian ralat tersuai.

Javascript 是一个非常有个性的语言. 无论是从代码的组织, 还是代码的编程范式, 还是面向对象理论都独具一格. 而很早就在争论的Javascript 是不是面向对象语言这个问题, 显然已有答案. 但是, 即使 Javascript 叱咤风云二十年, 如果想要看懂 jQuery, Angularjs, 甚至是 React 等流行框架, 观看《黑马云课堂JavaScript 高级框架设计视频教程》就对了。

Dalam era maklumat hari ini, laman web telah menjadi alat penting untuk orang ramai mendapatkan maklumat dan berkomunikasi. Tapak web responsif boleh menyesuaikan diri dengan pelbagai peranti dan memberikan pengguna pengalaman berkualiti tinggi, yang telah menjadi tumpuan dalam pembangunan tapak web moden. Artikel ini akan memperkenalkan cara menggunakan PHP dan AngularJS untuk membina tapak web responsif untuk memberikan pengalaman pengguna yang berkualiti tinggi. Pengenalan kepada PHP PHP ialah bahasa pengaturcaraan sisi pelayan sumber terbuka yang sesuai untuk pembangunan web. PHP mempunyai banyak kelebihan, seperti mudah dipelajari, merentas platform, perpustakaan alat yang kaya, kecekapan pembangunan

Petua untuk menggunakan pemintas laluan dalam uniapp Dalam pembangunan uniapp, pemintas laluan adalah fungsi yang sangat biasa. Pemintas laluan membolehkan kami melakukan beberapa operasi tertentu sebelum lompatan laluan, seperti pengesahan kebenaran, parameter laluan halaman, dsb. Dalam artikel ini, kami akan memperkenalkan petua untuk menggunakan pemintas laluan dalam uniapp dan memberikan contoh kod khusus. Buat pemintas laluan Pertama, kita perlu mencipta pemintas laluan dalam projek uniapp. Kaedah penciptaan adalah seperti berikut: Buat inter dalam direktori akar projek

Terokai prinsip kerja dan kelebihan pemintas Spring Pengenalan: Rangka kerja Spring ialah salah satu rangka kerja yang paling biasa digunakan dalam pembangunan Java Ia menyediakan fungsi dan fleksibiliti yang kaya, membolehkan pembangun membangunkan aplikasi dengan lebih cekap. Salah satu komponen penting ialah pemintas. Artikel ini akan menyelidiki prinsip kerja dan kelebihan pemintas Spring dan memberikan contoh kod khusus. 1. Cara pemintas Spring berfungsi Pemintas Spring menggunakan pengaturcaraan berorientasikan aspek (

Di Golang, pemintas boleh digunakan untuk memasukkan kod tambahan sebelum dan selepas pelaksanaan fungsi Senario termasuk pengelogan, pengesahan, caching, dll. Pemintas dilaksanakan dengan mencipta jenis fungsi pengendali dan kemudian mencipta fungsi pemintas yang menerima fungsi pengendali dan mengembalikan fungsi pengendali baharu yang mengandungi logik tambahan. Dalam pertempuran sebenar, kami boleh menggunakan pemintas untuk merekod semua permintaan untuk memudahkan penyahpepijatan dan analisis.

Pemintas membenarkan logik tersuai untuk dimasukkan ke dalam aplikasi Go tanpa mengubah suai kod sedia ada. Ia boleh digunakan untuk pengesahan, pengelogan, pengendalian ralat, pemantauan prestasi, dsb. Mencipta pemintas memerlukan pelaksanaan antara muka Pengendali, yang mentakrifkan kaedah ServeHTTP() untuk memproses permintaan HTTP dan kaedah Next() untuk menghantar kawalan. Contoh praktikal menunjukkan cara menggunakan pemintas pengelogan untuk mengelog laluan URL semua permintaan masuk, dan cara merantai berbilang pemintas (seperti pemintas pengesahan) bersama-sama untuk mencipta logik aplikasi yang kompleks.

Golang tidak menyediakan pemintas terbina dalam, tetapi anda boleh menggunakan ciri bahasa seperti fungsi, antara muka dan struktur untuk mencapai fungsi yang serupa Berikut adalah kaedah pelaksanaan pemintas yang biasa digunakan: 1. Pemintas berfungsi, dengan memproses permintaan sebelum ia sampai. pemintas dan kemudian panggil fungsi untuk melaksanakan pemintas; Melaksanakan logik pemintas yang berbeza pada antara muka.
