【发布时间】:2015-10-04 13:22:26
【问题描述】:
我在 NodeJS (ExpressJS) 中有我的服务器端,它实现了一个 POST 方法,该方法应该获取我从客户端发送的对象并对其进行处理:
router.route('/email')
// create a mail (accessed at POST http://localhost:8080/api/email)
.post(function(req, res) {
var email = req.body.email;
// do things with email...
// but it's complaining because it says it's 'undefined'
});
req.body.email 应该是具有这种结构的 JSON 对象:
{"destinatary": "my@example.com", "subject": "mysubject", "message": "mymessage"}
我使用 jQuery 实现了一个非常简单的 Web 客户端来测试我的 API,其中 AJAX 调用是这样完成的:
function sendEmail(email) {
$.post(MYAPP.service_uri+"/email",
email,
function(data, status){
alert("Data: " + data + "\nStatus: " + status);
});
}
在客户端,email 是一个对象,所以它不是 undefined... 但我每次在服务器端都会收到以下错误:
TypeError: Cannot read property 'destinatary' of undefined
【问题讨论】:
-
@Tushar 我在正文中发送 JSON 对象
标签: javascript jquery json node.js express