Stavo cercando di inoltrare la richiesta di posta AJAX con JQuery al mio server Node.JS in Node.JS ed Express, ma non funziona!JQuery Ajax richiesta post con node.js ed express
var express = require('express')
var app = express();
app.listen(8888);
app.configure(function(){
app.use(express.bodyParser());
app.set('views',__dirname + '/views');
app.set('view engine', 'ejs');
app.use(express.static(__dirname + '/public'));
app.use(express.cookieParser());
app.use(app.router);
});
app.get('/', function (req, res){
res.render('ajax.ejs');
});
app.post('/ajax', express.bodyParser(), function (req, res){
console.log(req);
console.log('req received');
res.redirect('/');
});
E questo è il ajax.ejs
:
<html>
<head>
<script src="http://code.jquery.com/jquery-1.6.2.min.js"></script>
<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>
</head>
<body>
<form>
<input type="button" id="enter" value="Enter">
</form>
</body>
</html>
Quando il ajax.ejs
è caricato, non c'è alcun output nella console, quindi, la richiesta POST non ha funzionato. Cosa posso fare?
Grazie anticipo!
mossa express.bodyParser() al app.use() Sezione: app.use (express.bodyParser ()); Il corpo del post che puoi recuperare tramite req.body. – asgoth
Fatto! Quindi, cambio 'console.log (req);' a 'console.log (req.body);'. Ma la richiesta non ha ancora funzionato, non ho alcun output nella console. – MrMangado