J'ai un code nodejs donné avec du code html, je veux afficher une douce alerte côté client, après avoir traité une fonction dans nodejs ?.
<!DOCTYPE html> <html lang="pt_br"> <head> </head> <body> <h1 class="text-center title-1"> Cad </h1> <form action="/add" method="post"> <input type="submit" value="Save"/> </form> </body> </html>
var express = require('express'); var router = express.Router(); const Swal = require('sweetalert2'); router.post('/add', function(req, res, next) { Swal('Hello world!'); });
3 Réponses :
Voici la seule façon d'afficher un swal popup
var express = require('express'); var router = express.Router(); router.post('/add', function(req, res, next) { res.json("Hello world!") }); <!DOCTYPE html> <html lang="pt_br"> <head> </head> <body> <h1 class="text-center title-1"> Cad </h1> <form id="form" action="#" method="post"> <input type="submit" value="Save"/> </form> </body> </html> <script> //import JQuery from script //import swal script $("#form").on("submit", function(e){ e.preventDefault(); $.ajax({ url: "/add", method: "post" }).done(d=>{ swal(e.responseJSON); }); }) </script>
Ici, vous pouvez utiliser EJS
<% if (isAdded) { %> <script> Swal.fire( 'Good job!', 'Data saved', 'success' ) </script> <% } %>
Côté HTML
var express = require('express'); var router = express.Router(); router.post('/add', function(req, res, next) { res.status(201).render('new', { isAdded : true } ); });
Pour gérer cela, vous pouvez utiliser des paramètres de requête.
Voici donc ce que vous pouvez faire
Sur le serveur
<script> var urlParams = new URLSearchParams(window.location.search); if(urlParams.has('success') && urlParams.get('success')){ swal({ title: "Failed", text: `${message}`, icon: "error", button: "Okay", }).then(()=>{ console.log(window.location.hostname) window.location.replace(window.location.origin + '/login'); }) }
Du côté client (EJS)
var express = require('express'); var router = express.Router(); router.post('/login', (req, res)=>{ res.redirect("/login?success=true&message=Logged In Successfully") });
Cela s'affichera simplement swal. Et vous pouvez basculer la valeur de succès pour afficher les messages d'erreur et de réussite.
Sweet Alert est censé être utilisé dans le navigateur, pas sur le serveur, vous devez plutôt l'inclure dans votre code côté client.
Je le sais, mais comment, j'ai essayé ajax ... je veux connaître une autre méthode? @ M90