JQuery Ajax post request with node.js and express JQuery Ajax post request with node.js and express express express

JQuery Ajax post request with node.js and express


I found your problem. You need to move your script from your head to your body (after the form tag):

...</form><script type="text/javascript">   $('#enter').click(function(){     ...</script></body>


The below code works as per the new releases.

server.js

var express = require('express')var app = express();var bodyparser = require('body-parser');var urlencodedparser = bodyparser.urlencoded({extended:false})app.set('views',__dirname + '/views');app.set('view engine', 'ejs');app.use(express.static(__dirname + '/public'));app.use(express.cookieParser());app.get('/', function (req, res){   res.render('ajax.ejs');});app.post('/ajax', urlencodedparser, function (req, res){     console.log(req);   console.log('req received');   res.redirect('/');});app.listen(8888);

ajax.ejs

<html><head>  <script src="http://code.jquery.com/jquery-1.6.2.min.js"></script>    </head><body><form>   <input type="button" id="enter" value="Enter">     <script type="text/javascript">      $('#enter').click(function(){       $.ajax({            url: '/ajax',           type: 'POST',           cache: false,            data: { field1: 1, field2: 2 },            success: function(data){              alert('Success!')           }           , error: function(jqXHR, textStatus, err){               alert('text status '+textStatus+', err '+err)           }        })     });            </script></form></body> </html>