Cet article présente principalement les informations pertinentes sur les exemples AngularJS encapsulant $http.post() en détail. Les amis dans le besoin peuvent se référer à
AngularJS encapsulant $http.post. () Explication détaillée des exemples
Il m'a fallu peu de temps pour suivre un projet d'application mobile, utilisant ionic + AngularJS + cordovaframework, et j'ai rencontré beaucoup de problèmes. , dont l'un est le problème d'encapsulation d'Ajax.
En fait, nous n'avons jamais cessé de parler des problèmes d'emballage. Différents projets ont aussi des besoins différents. Pour donner un exemple typique, lorsque je travaillais sur ce projet, je n'ai pas pris en compte les problèmes d'emballage. début a été critiqué, et un de mes amis a été critiqué pour l'encapsulation... C'est embarrassant, n'est-ce pas ?
Alors, comment devrions-nous définir s'il faut encapsuler ? En fait, ce n'est pas une question très compliquée. En dernière analyse, il s'agit d'une question de ratio de revenus. Si l'échelle du projet n'est pas très grande, cela n'a aucun sens de trop considérer la question de l'emballage du projet. est extrêmement faible ; et pour des projets à grande échelle, cela n'a aucun sens. Cela dit, s'il n'y a pas d'encapsulation, les risques potentiels sont beaucoup plus élevés, donc l'investissement initial en vaut la peine.
Bien sûr, ce problème n'est pas quelque chose qu'un novice comme moi peut expliquer clairement. Aujourd'hui, je vais parler de la façon dont je le traiterais si l'encapsulation était envisagée.
angularjs fournit un service http, qui est utilisé pour gérer les requêtes Ajax. Ici, je suppose que le lecteur connaît Angularjs, alors allez directement au sujet : comment gérer la demande de publication Encapsulation. Tout d'abord, je dois déterminer une chose, si je peux exclure les besoins personnalisés (situations qui nécessitent un traitement particulier) de tous les utilisateurs (membres de l'équipe de projet). Si je ne peux pas, alors je devrais ouvrir l'interface pour restaurer la demande de publication, j'ai donc besoin d'une sortie pour renvoyer http.post().
service('myHttpService', ['$http', function ($http) { var myHttpPost = function (url, data, successFn, errorFn) { } return { myHttp: function (url, data, successFn, errorFn) { return myHttpPost(url, data, successFn, errorFn); } } }]);
var httpPromise = $http.post(url, data, {timeout: 30000}); if (!angular.isDefined(successFn)) { return httpPromise; }
return httpPromise.then( function (response) { if (response.status) { return successFn(response); } else { /*其他处理*/ } }, function (error) { if (!angular.isDefined(errorFn)) { /*其他处理*/ } else { return errorFn(error); } }, function () { /*无论何总情况下都应该被执行的逻辑*/ } )
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!