Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么我的Ajax对象返回为未定义?_Javascript_Jquery_Node.js_Ajax_Ejs - Fatal编程技术网

Javascript 为什么我的Ajax对象返回为未定义?

Javascript 为什么我的Ajax对象返回为未定义?,javascript,jquery,node.js,ajax,ejs,Javascript,Jquery,Node.js,Ajax,Ejs,我试图发出一个Ajax请求,但我的对象总是以未定义的形式返回 以下是我的客户端代码: <a class="clicklink" href="/bookDetails"><h5 class="card-title"><%= title %></h5></a> <script type="text/javascript"> $(document).ready(function(){ $(".card-title").cli

我试图发出一个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>
顺便说一句,我把我的
标签放在一个链接中,这样它就可以点击了。我不知道也许这就是问题所在,但我不这么认为。但这是我得到的错误:

无法读取未定义的属性“ID”


有什么想法吗?谢谢。

如果您使用的是Express,请确保启用了
主体解析器
中间件


相关帖子:

错误消息告诉您无法读取属性,因为父级未定义。一个常见的原因是来自ajax调用的响应是字符串而不是对象。您是否检查了返回类型?

不相关,但在
contentType
字段中,您缺少了'charset'@pfcodes'中的'c'。我已将其修复。但这并不是问题所在。你是否尝试添加一个fail:function(data)并查看数据对象以了解发生了什么?可能是@BlackICE的重复,得到了它。当我应该将配置放在index.js文件中时,我将主体解析器的配置放在了routes文件夹中。我没有正确的配置,但我已经解决了这个问题。谢谢你。
router.post('/bookDetails', (req, res) => {
  console.log(req.body.ID);
});