Node.js Routing ajax requests with Express.JS

A simple implementation of AJAX

You should have the basic express-generator template

In app.js, add(you can add it anywhere after var app =, res, next){

Now in your index.js file (or its respective match), add:

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

Create an ajax.jade / ajax.pug or ajax.ejs file in /views directory, add:

For Jade/PugJS:

extends layout
h1 Quote: !{quote}
form(method="post" id="changeQuote")
    input(type='text', placeholder='Set quote of the day', name='quote')
    input(type="submit", value="Save")

For EJS:

<script src=""></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">

Now, create a file in /public called magic.js

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

And there you have it! When you click Save the quote will change!