Il y a toujours un problème dans le projet: après avoir saisi les mots clés dans la barre de recherche (voir figure 1), selon la logique métier établie, il devrait être qu'après que le serveur a reçu la demande, il renverra d'abord les 7 premiers données de la requête. Lorsque le client semble se charger, continuez à rechercher les 7 autres éléments de données. Mais la situation réelle est incertaine. Sur la console du serveur (voir figure 2), vous pouvez voir Begno jusqu'à 126, ce qui équivaut au client demandant 127 fois au serveur, ce qui est un résultat insupportable.
Figure 1 Bar de recherche client
Figure 2 Console du serveur
On peut conclure qu'il y a un problème avec la logique métier du client. Retourner au client, afficher la logique du code source et le modifier comme suit:
Contrôleur
$ scope.medSearchmore = function () {console.log ("Pull-up charge ......" + isFinished); if (isFinished == 0) {begin + = pcnt; var data = {"begno": begin, // start numéro "pagenum": pagenum, // return numéro par page "searchby": searchby}; if (searchType == 1) {data.classid = searchKey; console.log (data.classid); // ------- 1 AppCallServer ($ http, "9002", data, fonction (data) {console.log ("Drop down pour actualiser le résultat de la requête rootscope.med:" + json.strinify (data.data)); pour (var i = 0; i <data.pcnt; i ++) {$ rootscope.med.push (data.data [i] // Le statut de mise à jour est terminé avec des données.fishy $ timeout (function () {$ ionicloading.hide ();}, 1200);}); }} else {// Le médicament a été interrogé $ scope.nomore = true; } $ timeout (function () {$ scope. $ Broadcast ('scroll.infinitescrollComplete');}, 1200); };voir
<! - Lorsque l'utilisateur atteint le pied de page ou près du pied de page, la directive Ion-Infinite-Scroll vous permet d'appeler une fonction. Lorsque l'utilisateur fait défiler au-delà du contenu en bas, le sur-infini spécifié sera déclenché-> <! - Lorsqu'il n'y a plus de chargement de données, vous pouvez utiliser une méthode simple pour empêcher le défilement infini, c'est-à-dire la première fois que vous cliquez sur la classification Query Query Query, sans trott on-infinite = "medSearchmore ()" Distance = "0,01%" icon = "ion-wading-c"> </ ion-infinite-scroll> <div ng-if = "nomore" align = "Center"> <p> pas plus de médicaments </p> </ div>
Après les modifications ci-dessus, les demandes inutiles peuvent être évitées.