Recherche…


Une implémentation simple d'AJAX

Vous devriez avoir le modèle de générateur express de base

Dans app.js, ajoutez (vous pouvez l'ajouter n'importe où après var app = express.app() ):

app.post(function(req, res, next){
    next();
});

Maintenant, dans votre fichier index.js (ou sa correspondance respective), ajoutez:

router.get('/ajax', function(req, res){
    res.render('ajax', {title: 'An Ajax Example', quote: "AJAX is great!"});
});
router.post('/ajax', function(req, res){
    res.render('ajax', {title: 'An Ajax Example', quote: req.body.quote});
});

Créez un ajax.jade / ajax.pug ou ajax.ejs dans le répertoire /views , ajoutez:

Pour Jade / PugJS:

extends layout
script(src="http://code.jquery.com/jquery-3.1.0.min.js")
script(src="/magic.js")
h1 Quote: !{quote}
form(method="post" id="changeQuote")
    input(type='text', placeholder='Set quote of the day', name='quote')
    input(type="submit", value="Save")

Pour EJS:

<script src="http://code.jquery.com/jquery-3.1.0.min.js"></script>
<script src="/magic.js"></script>
<h1>Quote: <%=quote%> </h1>
<form method="post" id="changeQuote">
    <input type="text" placeholder="Set quote of the day" name="quote"/>
    <input type="submit" value="Save">
</form>

Maintenant, créez un fichier dans /public appelé magic.js

$(document).ready(function(){
    $("form#changeQuote").on('submit', function(e){
        e.preventDefault();
        var data = $('input[name=quote]').val();
        $.ajax({
            type: 'post',
            url: '/ajax',
            data: data,
            dataType: 'text'
        })
        .done(function(data){
            $('h1').html(data.quote);
        });
    });
});

Et voila! Lorsque vous cliquez sur Enregistrer, le devis change!



Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow