2016-10-06 1 views
0

Je crée une application Web basée sur le framework original MEAN.js. Quand je veux demander le fichier de test json local en utilisant la méthode $ http.get() dans mon fichier AngularJS, il renvoie mon index html content.Est-ce un problème de routage? Je n'ai pas changé le code de routage mean.js original (https://github.com/meanjs/mean), juste ajouté une méthode $ http.get() dans le fichier home.client.controller.js. Est-ce que quelqu'un peut m'aider avec ça? Merci!

Répondre

0

Cela se produit très probablement, car vous n'avez pas défini de point de terminaison pour cette requête GET particulière dans votre application. Chaque fois que vous faites une demande à votre serveur (par exemple, une requête GET à /my-request) nodejs/express sont configurés dans MEAN.js afin que votre serveur essaie de trouver le point de terminaison pour cette requête, s'il ne trouve aucune , cette demande sera traitée par ce bloc de code particulier (spécifié dans /modules/core/server/routes/core.server.routes.js):

// Define application route 
app.route('/*').get(core.renderIndex); 

ce qui va rendre essentiellement sur l'index. Je ne suis pas sûr si vous utilisez un module personnalisé ou non, de toute façon, si vous voulez que cette demande soit traitée différemment dans MEAN.js, vous pouvez spécifier votre point de terminaison dans votre fichier de routage de module personnalisé (ou core.server.controller.js) comme ceci:

// Define application route 
app.route('/my-request').get(core.sendMyJSON); 

Soyez prudent, car cette voie doit être placé avant celui que je l'ai déjà mentionné, sinon votre demande sera traitée toujours de la même manière et l'affichage de l'index sera rendu et servi à nouveau.

Ensuite, vous devrez créer le contrôleur qui devrait être appelé à gérer cette demande:

exports.sendMyJSON = function (req, res) { 
    // logic to serve the JSON file 
}; 

De cette façon, vous devriez être en mesure pour le faire avec quelques ajustements.

Side note: Je ne suis pas tout à fait sûr, mais je pense que si vous placez votre fichier JSON dans le répertoire public de votre application, vous devriez être en mesure d'accéder directement sans la nécessité de la logique supplémentaire.