Bất kể kết hợp req.params/req.query/req.body và $ .post ({..} tôi sử dụng là gì, tôi không thể trích xuất dữ liệu JSON từ yêu cầu đăng bài Jquery của tôi trong express .Đăng Dữ liệu Jquery để Express
Đây là tôi jQuery:
$.post("/mail", {email : "[email protected]", name : "[email protected]"});
tôi cũng đã cố gắng hoán vị khác nhau của:
$.ajax({type: "POST", url: "/mail", dataType :"json", data :
{email : "[email protected]", name : "[email protected]"}});
Đây là Node.js tôi exp ress mã:
app.post("/mail", function(req, res) {
console.log(req.body.name);
console.log(req.route);
console.log("params1: " + req.param.params);
....
Tôi đã thử cách vô tận của truy cập vào email dữ liệu và tên không thành công. Tôi sẽ ngạc nhiên nếu giải pháp là một sửa đổi đơn giản để req.body/req.params nhưng bất cứ điều gì là có thể! Dữ liệu không có ở đó! (Nó không xuất hiện trong url của tôi hoặc là - tất cả tôi thấy là localhost: 1337)
req.body/req.params/req.param.params/req.params tất cả trởkhông xác định và req. truy vấn trả lại[].
req.route lợi nhuận:
{ path: '/mail',
method: 'post',
callbacks: [ [Function] ],
keys: [],
regexp: /^\/mail\/?$/i,
params: [] }
Tôi đã thử thêm:
app.use(express.bodyParser());
Nhưng, phải thừa nhận là, tôi không hoàn toàn hiểu được mục đích của nó. Bất kỳ trợ giúp nào cũng được đánh giá rất cao.
Chúc mừng ngày lễ! // Sam
Có lẽ điều này sẽ giúp bạn một chút? http://stackoverflow.com/questions/5710358/how-to-get-post-query-in-express-node-js –
Phần mềm trung gian 'bodyParser' là phần khởi tạo' req.body' từ phần thân POST, vì vậy bạn thực sự cần điều đó. Hãy chắc chắn rằng bạn sử dụng nó trước khi bạn gắn kết các tuyến đường của bạn (tức là trước khi bạn làm 'app.use (app.router)' hoặc 'app.get' /' app.post' etc đầu tiên của bạn). –
Điều Linus đã nói, hãy đảm bảo trong cấu hình bodyParser của bạn được đặt TRƯỚC KHI định tuyến của bạn. – leepowell