javascript - 风 sails js : TypeError: Cannot read property 'name' of undefined

标签 javascript angularjs sails.js

我正在使用 sailsjs,并且使用 postman ,我尝试发送邮件( http://localhost:1337/user?name=plz)(http://localhost:1337/user?name=plz)(http://localhost:1337/user?name=plz) 但我收到错误:

 TypeError: Cannot read property 'name' of undefined
at Object.module.exports.create (C:\Users\achraf\Desktop\crud\cruds\api\controllers\UserController.js:13:29)
at wrapper (C:\Users\achraf\AppData\Roaming\npm\node_modules\sails\node_modules\lodash\index.js:3095:19)
at routeTargetFnWrapper (C:\Users\achraf\AppData\Roaming\npm\node_modules\sails\lib\router\bind.js:176:5)
at callbacks (C:\Users\achraf\AppData\Roaming\npm\node_modules\sails\node_modules\express\lib\router\index.js:164:37)
at param (C:\Users\achraf\AppData\Roaming\npm\node_modules\sails\node_modules\express\lib\router\index.js:138:11)
at pass (C:\Users\achraf\AppData\Roaming\npm\node_modules\sails\node_modules\express\lib\router\index.js:145:5)
at nextRoute (C:\Users\achraf\AppData\Roaming\npm\node_modules\sails\node_modules\express\lib\router\index.js:100:7)
at callbacks (C:\Users\achraf\AppData\Roaming\npm\node_modules\sails\node_modules\express\lib\router\index.js:167:11)
at alwaysAllow (C:\Users\achraf\AppData\Roaming\npm\node_modules\sails\lib\hooks\policies\index.js:158:11)
at routeTargetFnWrapper (C:\Users\achraf\AppData\Roaming\npm\node_modules\sails\lib\router\bind.js:176:5)
at callbacks (C:\Users\achraf\AppData\Roaming\npm\node_modules\sails\node_modules\express\lib\router\index.js:164:37)
at param (C:\Users\achraf\AppData\Roaming\npm\node_modules\sails\node_modules\express\lib\router\index.js:138:11)
at pass (C:\Users\achraf\AppData\Roaming\npm\node_modules\sails\node_modules\express\lib\router\index.js:145:5)
at nextRoute (C:\Users\achraf\AppData\Roaming\npm\node_modules\sails\node_modules\express\lib\router\index.js:100:7)
at callbacks (C:\Users\achraf\AppData\Roaming\npm\node_modules\sails\node_modules\express\lib\router\index.js:167:11)
at module.exports (C:\Users\achraf\AppData\Roaming\npm\node_modules\sails\lib\hooks\cors\clear-headers.js:14:3) [TypeError: Cannot read property 'name' of undefined]

UserController.js

module.exports = {

        create:function(req,res){

                var param = req.body.name;
                User.create({name :param.name}).exec(function(err,user){
                        //console.log(success);
                    if(err){

                        res.send("Error:Sorry!Something went Wrong");

                    }else{

                        return res.redirect("/user");

                    }

                });
    }   
};

routes.js

'post /user':   'UserController.create'

User.js(模型)

module.exports = {

  attributes: {
        //_id:'p1',
        name:'STRING'
  }
};

最佳答案

假设 req.body.name 返回格式正确的数据,您需要使用 param 而不是 param.name 因为您将 name 属性直接设置为 param 变量。

所以这样做:

var param = req.body.name;
User.create({name : param}).exec(function(err,user){

关于javascript - 风 sails js : TypeError: Cannot read property 'name' of undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36731206/

相关文章:

javascript - 使用 Tampermonkey/javascript 控制 Netflix (HTML5) 播放

javascript - 在 Sails 中使用多个 unirest 请求

javascript - 我们如何合并两个 instagram API 的结果

javascript - 更新 API 字符串

javascript - 对于 CORS 错误,我还需要在客户端(Angular js)进行配置吗?

mysql - sails.js 在 mysql 中运行多个命令查询

android - 保护 Sails API

javascript - 如何从异步调用返回响应?

javascript - Html5 Canvas Javascript 库?

javascript - OpenLayers + Liferay 门户组件