我正在尝试发出Ajax请求,但是我的对象不断返回未定义状态。
这是我的客户端代码:
<a class="clicklink" href="/bookDetails"><h5 class="card-title"><%= title %></h5></a>
<script type="text/javascript">
$(document).ready(function(){
$(".card-title").click(function(){
$.ajax({
type: 'post',
contentType: "application/json; harset=UTF-8",
data: JSON.stringify({ID:'<%= ID %>'}),
url: 'http://localhost:3000/bookDetails',
success: function(data){
console.log('success');
}
});
});
});
</script>
这是我的邮寄要求代码:
router.post('/bookDetails', (req, res) => {
console.log(req.body.ID);
});
顺便说一句,我将<h5>
标签放在链接内,因此可以点击。我也许不是问题所在,但我不这么认为。但这是我得到的错误:
无法读取未定义的属性“ ID”
有什么想法吗?谢谢。
答案 0 :(得分:1)
如果您使用Express,请确保已启用body-parser
中间件。
答案 1 :(得分:0)
该错误消息告诉您,由于父项未定义,因此无法读取该属性。造成这种情况的一个常见原因是,ajax调用的响应是字符串而不是对象。您检查过退货类型吗?