0
votes

Impossible de passer des données d'Express à EJS?

J'ai essayé de transmettre une donnée de fichiers JS (Sample.js) à EJS à l'aide de res.Send ("FileName.ejs", Data ) en convertissant un objet en JSON où les données JSON affichent sur la console, mais en essayant de le transmettre montrant une erreur

TypeError: Impossible de créer la propriété '_Locals' sur la chaîne

Quelqu'un peut-il aider avec cela et dites-moi comment les appeler dans le fichier EJS


2 commentaires

S'il vous plaît envisager de faire un Modifier pour clarifier votre question. En attendant, si vous devez envoyer le contenu d'un fichier à partir de votre serveur NODE / Express sur EJS dans votre navigateur, essayez res.SendFile () . expressjs.com/fr/4x/api.html#res.sendfile


Comme O. Jones a dit, nous avons vraiment besoin de beaucoup plus d'informations. Pouvez-vous joindre votre code et décrire la sortie que vous attendez du client en détail?


3 Réponses :


0
votes

res.Send () est utilisé pour envoyer des données. Il n'est pas nécessaire de faire valoir que le fichier EJS

res.Send prend tableau en tant que paramètre (res.Send ([[corps])) et vous pouvez l'obtenir dans ejs comme { {DATA}} P>

Par exemple P>

Nodejs res.send ({message: 'Hello'}) p>

nom_file.ejs p> xxx pré>

aussi comme express 5x ne prend pas en charge res.SEND () code> Méthode Vous pouvez utiliser P>

res.status(200).send({message: 'hello})


0 commentaires

0
votes

Vous envoyez des données à votre vue afin de mettre à jour votre code avec ceci et essayez xxx

ou que vous pouvez transmettre des données entières xxx

Et dans votre fichier EJS l'accédez comme ceci xxx


1 commentaires

Vous ne pouvez pas utiliser .ejs dans le nom de fichier lorsque vous utilisez res.Render ("nom_file ') ...



0
votes

Notez que vous devriez NON STRY> Utilisez l'extension .ejs code> dans res.Render code>, malgré d'autres réponses à votre question suggérant que vous le faites .
Lorsque vous appelez res.Render ('myview') code>, EJS recherche un modèle appelé myview.ejs code> dans un dossier appelé vues code> (qui est Définissez comme le dossier par défaut à utiliser par EJS)

Par exemple: P>

<% data.forEach(function(item) { %>
    //do something

<% }); %>

<%= foo %>


0 commentaires