I have checked that my data
is passed correctly, db
is connected but also, using ajax
it gives me success call back with the id returned.
But somehow my data isn't passing through, when I even try req
or req.body
I see that body
is blank like this {}
I have this as my form in html
<form>
<label for="">Name</label>
<input class="form-control" type="text" placeholder="Your Name" name="name">
<label for="">Email</label>
<input class="form-control" type="text" placeholder="example@hackhub.com" name="email">
<label for="">Subject</label>
<input class="form-control" type="text" placeholder="Subject" name="subject">
<label for="">Message</label>
<textarea class="form-control" placeholder="Message" id="" cols="30" rows="5" name="body"></textarea>
<input class="contact-btn" type="submit">
</form>
as for my ajax call
$('.contact-btn').on('click', function (e) {
e.preventDefault();
var data = {
'name': $('input[name="name"]').val(),
'email': $('input[name="email"]').val(),
'subject': $('input[name="subject"]').val(),
'body': $('textarea[name="body"]').val()
}
console.log(data);
$.ajax({
method : "POST",
url: '/contact/test',
dataType: "json",
data: {'name': 'testingaodk'}, // I added this to give it a direct test ( I was using data:data
success: function (data) {
console.log(data);
},
error: function (err) {
console.log(err);
}
})
})
in my express
var express = require('express');
var app = express();
var path = require('path');
var mongoose = require('mongoose');
var cors = require('cors');
var bodyParser = require('body-parser');
mongoose.Promise = global.Promise;
mongoose.connect('mongodb://');
var db = mongoose.connection;
db.on('error', console.error.bind(console, 'MongoDB connection error:'));
app.post('/contact/test', function (req, res) {
var newContact = new Contact(req.body);
console.log(req);
newContact.save(function (err, doc) {
res.send(doc);
});
});
in my console.log I do see data
passed back successfully with random id
passed back.
Also, in express console I can see something like this
locals: {} },
body: {},
route:
Route {
path: '/contact/test',
stack: [ [Object] ],
methods: { post: true } } }
meaning body is empty but why though?
Can someone please give me a hand?
Thanks in advance.
via Tsuna
No comments:
Post a Comment