Node.js
Instradare richieste ajax con Express.JS
Ricerca…
Una semplice implementazione di AJAX
Dovresti avere il modello generatore di base espresso
In app.js, aggiungi (puoi aggiungerlo ovunque dopo var app = express.app()
):
app.post(function(req, res, next){
next();
});
Ora nel tuo file index.js (o nella sua rispettiva corrispondenza), aggiungi:
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});
});
Creare un file ajax.jade
/ ajax.pug
o ajax.ejs
nella directory /views
, aggiungere:
Per 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")
Per 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>
Ora crea un file in /public
chiamato 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);
});
});
});
E il gioco è fatto! Quando fai clic su Salva, il preventivo cambierà!
Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow