Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/476.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.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 Post传递到节点js_Javascript_Jquery_Node.js_Ajax - Fatal编程技术网

Javascript 将数据从Ajax Post传递到节点js

Javascript 将数据从Ajax Post传递到节点js,javascript,jquery,node.js,ajax,Javascript,Jquery,Node.js,Ajax,我正在学习node,希望从Ajax调用向node发送一些数据 下面是我的Ajax和节点调用 Ajax方法 function getUserName(){ var data ={}; data.email=$('#email').val(); data.fNmame=$('#fNmame').val(); data.lName=$('#lName').val(); $.ajax({ type: 'POST', data: J

我正在学习node,希望从Ajax调用向node发送一些数据

下面是我的Ajax和节点调用

Ajax方法

function getUserName(){
    var data ={};
    data.email=$('#email').val();
    data.fNmame=$('#fNmame').val();
    data.lName=$('#lName').val();

    $.ajax({
        type: 'POST',
        data: JSON.stringify(data),
        contentType: "application/json",
        dataType:'json',
        url: '/getUserName',                      
        success: function(data) {
            console.log('success');
            console.log(JSON.stringify(data));                               
        },
        error: function(error) {
            console.log("some error in fetching the notifications");
         }
    });
}
节点函数

app.post('/getUserName',function(req,res){

        var reqData =  JSON.stringify(req.params);

        console.log("reqData :::: " + reqData);

    });
在日志中我可以看到

reqData :::: {}
请建议。

POST数据在req.body中接收。 req.params用于动态参数。 对于/users/:id,您将在req.params中获得id的值。
尝试使用req.body作为正文后数据。

最终找到答案,我没有使用app.usebodyParser.urlencoded{extended:false};因为该post未按预期工作。

您需要使用body解析器中间件从post请求中提取数据。你可以这样做:

var bodyParser = require('body-parser');
app.use(bodyParser.urlencoded({
    extended: true
}));

app.post('/getUserName',function(req,res){

    var reqData =  JSON.stringify(req.body.data);

    console.log("reqData :::: " + reqData);

});

要提取数据,您需要以req.body.data而不是req.params的形式获取数据。这用于从get路径获取动态变量。

从req.params更改为req.body,输出更改为reqData:::未定义您是否使用express?我想你是的。你有身体吗?仅此代码很难说,Express 4+需要此代码。我使用的是Express 4.15,我没有使用表单提交。单击按钮,我想进行一个ajax调用。var reqData=JSON.parsereq.body;我会为你工作的。