Jquery 来自JS的Post调用不';t将数据发送到后端

Jquery 来自JS的Post调用不';t将数据发送到后端,jquery,node.js,mongodb,express,pug,Jquery,Node.js,Mongodb,Express,Pug,正在尝试将登录数据从我的前端发送到mongodb 因此,我的js文件从pug文件中获取id和pass值,并执行post调用,该调用发送登录id和pass 然后,route/postlist将获取该值并对其进行渲染 我得到的错误是没有向ajax调用传递任何值,即使在我执行console.log时显示id和pass的值 这是我的哈巴狗档案 script(type='text/javascript' src="http://code.jquery.com/jquery-latest.js") scri

正在尝试将登录数据从我的前端发送到mongodb

因此,我的js文件从pug文件中获取id和pass值,并执行post调用,该调用发送登录id和pass

然后,route/postlist将获取该值并对其进行渲染

我得到的错误是没有向ajax调用传递任何值,即使在我执行console.log时显示id和pass的值

这是我的哈巴狗档案

script(type='text/javascript' src="http://code.jquery.com/jquery-latest.js")
script( type= 'text/javascript',src='/javascripts/script.js')


form( id='formSignIn')
    div.form-group
      label(for='name') Id:
      input#name.form-control(type='text', placeholder='id' name='name')
    div.form-group
      label(for='pw') Password:
      input#password.form-control(type='password', name='password')
      button.btn.btn-primary(type='submit', id='submit') Sign In
这是我的js代码

$(document).ready(function(){
console.log("hi");

    var name,password;
    $("#submit").click(function(){
        id= $("#name").val();
        // console.log("/////////",name);
        pass=$("#password").val();
        console.log("$$$$$$$$$$$$$", id, pass)
        $.post("/signup", {name: id, password: pass} ,function(data){
         alert( "Data Loaded: " + data );
        }).fail(function(){
      console.log("error");

        // console.log("@@@@@@@@@@@@@@@@@");
        localStorage.setItem('user',id);
        });
})})
这是我在router/index.js中的代码(在这个项目中使用express)

在这种情况下,您不使用body parser nodejs需要body parser在后端获取body数据,所以您必须像这样在app.js中安装并使用它

app.use( bodyParser.json() );       // to support JSON-encoded bodies
// app.use(bodyParser.urlencoded({     // to support URL-encoded bodies
//   extended: true
// })); 
步骤1:

npm i body-parser
第二步: 在app.js中需要

var bodyParser = require('body-parser');
第三步: 像这样使用它

app.use( bodyParser.json() );       // to support JSON-encoded bodies
// app.use(bodyParser.urlencoded({     // to support URL-encoded bodies
//   extended: true
// })); 

在此之后,您应该获得您的数据。

数据未通过的地方??在您的
$(文档).ready
正在打印??是的,js文件已成功链接。问题是在我的js文件中,当我执行Post调用时,值没有被传递。你可以自己检查好的,安装后试过了,没用。我做得对吗?您必须在app.use中执行bodyparser而不是express。这里
app.use(express.json());use(express.urlencoded({extended:false}))