TypeError:无法读取属性' id'在nodejs中未定义

时间:2015-09-22 11:22:20

标签: javascript jquery node.js

我正在努力创建一个根据在文本框中输入的ID从数据库中选择的功能。我编写了代码,但它在控制台中显示了这个错误,我无法理解原因:URL = Snap.url = function (url) { // return "url('#" + url + "')"; return "url('" + window.location.pathname + "#" + url + "')"; };

我到目前为止的代码:

客户端:

TypeError: Cannot read property 'id' of undefined

服务器侧

function select()
            {
                var id = $('#nr_reg').val();
                $.ajax({
                    type: 'post',
                    url: '/id',
                    data : {
                        id: id
                    },
                    succes: function(data){
                        var id = data.id;
                        alert(id);
                        $('#optic').val(id);
                    },
                    error: function(err){
                        console.log(err);
                    }

                }); 
            }

L.E: 功能选择:

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

    var data = req.body;
    var id = data.id;
    console.log(id);
    var query = "SELECT * FROM Control WHERE id=" +id;
    connection.query(query, function(error, result) {
            console.log(result);
            res.send(result);
    });
});

2 个答案:

答案 0 :(得分:2)

你说你的错误是在服务器端?将身体解析器添加到您的快速应用程序:

第一次安装身体解析器:

var express = require('express');
var bodyParser = require('body-parser');
app.use(bodyParser.json());
app.post(/*....*/);

在您的应用中包含此内容:

app.post

app.use必须在 private void Row_MouseRightButtonDow(object sender, RoutedEventArgs e) { do stuff } 行之后 完整示例here
顺便说一句,这是this

的副本

答案 1 :(得分:2)

确保您require d body-parser。 并使用bodyParser.urlencoded

var bodyParser = require('body-parser');

app.use(bodyParser.urlencoded({ extended: false }));

这应该在您的.post路线定义之前。

编辑:

在此之前,你必须npm install body-parser:)