我正在尝试制作一个简单的帖子请求,但由于某种原因,我发送的数据将作为未定义返回。我已经检查了控制台,以确保在发出请求之前数据存在,并且它就在那里。如果你看下面,var $description
从一个简单的html输入字段中取值。数据是文本,确实存在,正如我所说。为什么警报会返回'undefined'
?
$('#addTodo').click(function (event) {
$('#success').hide();
$('#failure').hide();
$description = $('#todoDescription').val();
$.post('/todos', {description: $description})
.done(function(data) {
alert( "Data Loaded: " + data.description);
});
});
这是在服务器上处理请求的方式:
app.post('/todos', function (req, res) {
var body = req.body;
console.log('description: ' + body.description);
res.json(body);
});
答案 0 :(得分:0)
您的数据未定义,请检查您从服务器返回的内容。您可以在firebug或任何其他浏览器开发人员工具中看到它。另外,调用console.log(data)并直接在控制台中查看数据。
请再次检查,服务器中存在“描述”,它可能是错误的。像“desrciption”或类似的东西
答案 1 :(得分:0)
作为开始,而不是做
alert( "Data Loaded: " + data.description);
你应该试试
alert( "Data Loaded: " + data);
这里是在访问数据内部的任何内容之前从服务器打印输出。
并且不要忘记,在访问数据内的属性
之前将其转换为JSON还要确保(在从服务器发送之前),您正在从服务器发送适当的数据