L'application de débogage de machine réelle Uniapp ne peut pas accéder à l'interface
Lors du développement d'applications mobiles Uniapp, nous rencontrons souvent le problème que l'application de débogage de machine réelle ne peut pas accéder à l'interface. Ce problème est souvent causé par un accès entre domaines. Nous verrons ici comment résoudre ce problème.
Lorsque nous rencontrons le problème de ne pas pouvoir accéder à l'interface, la première chose que nous devons confirmer est si l'adresse de l'interface est correcte. Il est très important de confirmer si l'adresse de l'interface est correcte. Nous devons vérifier soigneusement l'adresse de l'interface pour nous assurer qu'elle ne pose aucun problème.
S'il n'y a pas de problème avec l'adresse de l'interface, alors le problème est probablement inter-domaine. Il convient de noter qu'en raison des restrictions liées aux politiques de sécurité, les navigateurs n'autorisent généralement pas l'accès entre domaines.
Le nom de domaine par défaut de la page front-end est http://localhost:8080. Si le nom de domaine de l'interface back-end n'est pas sous ce nom de domaine, cela entraînera des problèmes entre domaines. Par exemple, si l'adresse de la page frontale est http://localhost:8080/index.html et l'adresse de l'interface principale est http://api.demo.com/getData, des problèmes inter-domaines se produiront.
Afin de résoudre le problème inter-domaines, nous devons configurer le backend pour autoriser l'accès inter-domaines front-end. Vous pouvez utiliser le middleware inter-domaines du framework back-end pour la configuration. Par exemple, Node.js peut utiliser le module cors et Java peut utiliser l'annotation @CrossOrigin du framework Spring MVC.
Prenons Node.js comme exemple, installez le module cors :
npm install cors --save
Utilisez le module cors :
const express = require('express') const cors = require('cors') const app = express() app.use(cors()) app.get('/getData', function (req, res) { // 返回数据 })
Dans le code ci-dessus, nous utilisons le module cors pour la configuration inter-domaines, en appelant l'app.use(cors ()), cela permettra toutes les requêtes inter-domaines.
Dans l'application uniapp, nous devons également configurer la liste blanche qui autorise les requêtes inter-domaines dans le fichier manifest.json. Plus précisément, nous devons ajouter la configuration suivante au fichier manifest.json :
{ "mp-weixin": { "request": { "domainList": [ "http://api.demo.com" ] } } }
Parmi eux, "http://api.demo.com" est le nom de domaine de l'interface back-end, qui doit être modifié pour le nom de domaine réel de l'interface.
Si aucune des méthodes ci-dessus ne peut résoudre le problème, nous devons alors enquêter plus en profondeur. Les problèmes possibles incluent :
Résumé final :
Lors du développement d'applications mobiles Uniapp, il est courant que la véritable application de débogage de l'appareil ne puisse pas accéder à l'interface. Habituellement, la cause de ce problème est l'accès inter-domaines. Nous pouvons résoudre ce problème en configurant le backend pour autoriser l'accès inter-domaines frontal et en configurant manifest.json dans uniapp. Dans le même temps, lorsque vous rencontrez un problème, vous devez patiemment analyser le message d’erreur, trouver la cause spécifique et prendre les solutions correspondantes.
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!