我试图读取表单并将数据存储在数据库中。 我使用SQL服务器数据库。当我执行以下代码时,它给了我一个未被捕获的错误[TypeError:无法读取属性'键入'未定义的]。 我检查了每个变量,但没有一个变量具有未定义的值。我无法搞清楚,请帮助。
var express = require('express');
var router = express.Router();
var sql = require('mssql');
router.post('/',function(req,res,next){
//Fetching form variables
var ProfCreatedby =req.body.ctl00$ContentPlaceHolder1$DDLProfileCreatedBy;
var title =req.body.ctl00$ContentPlaceHolder1$DDLTitle;
var Fname =req.body.ctl00$ContentPlaceHolder1$txtFname;
var Mname =req.body.ctl00$ContentPlaceHolder1$txtMname;
var Lname =req.body.ctl00$ContentPlaceHolder1$txtLname;
var dob =req.body.ctl00$ContentPlaceHolder1$txtDateofBirth;
var Btime =req.body.ctl00$ContentPlaceHolder1$txtBirthTime;
var gender =req.body.ctl00$ContentPlaceHolder1$DDLGender;
var religion =req.body.ctl00$ContentPlaceHolder1$DDLReligion;
var caste =req.body.ctl00$ContentPlaceHolder1$DDLCaste;
var education =req.body.ctl00$ContentPlaceHolder1$DDLEducationCatogery;
var degree =req.body.ctl00$ContentPlaceHolder1$DDLEducationDegree;
var EduDetail =req.body.ctl00$ContentPlaceHolder1$txtEDucationalDetails;
var Mtounge =req.body.ctl00$ContentPlaceHolder1$txtMotherTongue;
var Address1 =req.body.ctl00$ContentPlaceHolder1$txtAddress1;
var Address2 =req.body.ctl00$ContentPlaceHolder1$txtAddress2;
var City =req.body.ctl00$ContentPlaceHolder1$txtCity;
var District =req.body.ctl00$ContentPlaceHolder1$txtDistrict;
var Country =req.body.ctl00$ContentPlaceHolder1$DDLCountry;
var State =req.body.ctl00$ContentPlaceHolder1$DDLState;
var PIN =req.body.ctl00$ContentPlaceHolder1$txtPinCode;
var Phone =req.body.ctl00$ContentPlaceHolder1$txtPhoneNo;
var Mobile =req.body.ctl00$ContentPlaceHolder1$txtMobileNo;
var Email =req.body.ctl00$ContentPlaceHolder1$txtEmailId;
var Height =req.body.ctl00$ContentPlaceHolder1$DDLHeight;
var Weight =req.body.ctl00$ContentPlaceHolder1$DDLWeight;
var Built =req.body.ctl00$ContentPlaceHolder1$DDLBuilt;
var Complexion =req.body.ctl00$ContentPlaceHolder1$DDLComlixation;
var BGroup =req.body.ctl00$ContentPlaceHolder1$DDLBloodGroup;
var PhyDisable =req.body.ctl00$ContentPlaceHolder1$DDLPhyscalyDisable;
var Intercaste =req.body.ctl00$ContentPlaceHolder1$DDLIntercaste;
var RforA =req.body.ctl00$ContentPlaceHolder1$DDLReadyForAbroad;
var Mstatus =req.body.ctl00$ContentPlaceHolder1$DDlMarrigeStatus;
var ChildIfAny =req.body.ctl00$ContentPlaceHolder1$DDLChildIfAny;
var AboutMe =req.body.ctl00$ContentPlaceHolder1$txtAboutMe;
var Expectation =req.body.ctl00$ContentPlaceHolder1$txtExpectionFromPartner;
// database configuration
var config = {
user:'USER',
password:'PASSWORD',
server: 'SERVER',
database: 'DATABASE'
};
sql.connect(config).then(function(){
// input variables for stored procedure
var request = new sql.Request();
request.input('@Username',sql.VarChar(256),'ChetanAngari');
request.input('@ProCreateBy',sql.VarChar(50),profCreatedby);
request.input('@Title',sql.VarChar(6),title);
request.input('@Fname',sql.VarChar(50),Fname);
request.input('@Mname',sql.VarChar(50),Mname);
request.input('@Lname',sql.VarChar(50),Lname);
request.input('@DOB',sql.datetime,dob);
request.input('@DOBTime',sql.Varchar(10),Btime);
request.input('@Gender',sql.VarChar(6),gender);
request.input('@Religion',sql.VarChar(50),religion);
request.input('@Caste',sql.VarChar(50),caste);
request.input('@EduCate',sql.VarChar(25),education);
request.input('@Degree',sql.VarChar(25),degree);
request.input('@EduDetail',sql.VarChar(50),EduDetail);
request.input('@MotherTonge',sql.VarChar(50),Mtounge);
request.input('@Add1',sql.VarChar(100),Address1);
request.input('@Add2',sql.VarChar(100),Address2);
request.input('@City',sql.VarChar(50),City);
request.input('@Distric',sql.VarChar(50),District);
request.input('@State1',sql.VarChar(50),State);
request.input('@Country',sql.VarChar(50),Country);
request.input('@PIN',sql.VarChar(50),PIN);
request.input('@PhNo',sql.VarChar(25),Phone);
request.input('@MobNo',sql.VarChar(25),Mobile);
request.input('@Email',sql.VarChar(100),Email);
request.input('@Ht',sql.Int,Number(Height));
request.input('@Wt',sql.VarChar(25),Weight);
request.input('@Built',sql.VarChar(25),Built);
request.input('@Color',sql.VarChar(25),Complexion);
request.input('@BldGrp',sql.VarChar(4),BGroup);
request.input('@PhyDis',sql.VarChar(3),PhyDisable);
request.input('@IntCaste',sql.VarChar(3),Intercaste);
request.input('@GoToForeign',sql.VarChar(3),RforA);
request.input('@MamKul',sql.VarChar(50),'ChetanAngari');
request.input('@NCKul',sql.VarChar(50),'ChetanAngari');
request.input('@MStatus',sql.VarChar(20),Mstatus);
request.input('@Child',sql.Int,parseInt(ChildIfAny));
request.input('@AboutMe',sql.VarChar(200),AboutMe);
request.input('@ExpPart',sql.VarChar(200),Expectation);
request.input('@PhPath1',sql.VarChar(100),'ChetanAngari');
request.input('@PhLogo',sql.VarChar(100),'ChetanAngari');
request.input('@ProType',sql.VarChar(1),'C');
request.input('@PhVerficationPending',sql.VarChar(1),'C');
request.input('@ProCrtDt',sql.datetime,Date.now());
request.input('@ProEndDt',sql.datetime,Date.now());
request.input('@Visible',sql.VarChar(1),'C');
request.input('@CUser',sql.VarChar(50),'ChetanAngari');
request.input('@AdminLock',sql.VarChar(1),'C');
request.execute('STORED PROCEDURE',function(err,recordsets,returnValue){
if(err) console.log(err);
console.dir(recordsets);
console.log(returnValue);
console.log('Command Success..');
});
}).catch(function(err){
console.log(err);
});
res.end();
});
module.exports = router;
下面是Stack trace ....
TypeError: Cannot read property 'type' of undefined
at Request.input (C:\Users\Ishant\Documents\NodeWork\OceanTech\BouddhaLifePartnerMarriage\node_modules\mssql\lib\main.js:1257:19)
at C:\Users\Ishant\Documents\NodeWork\OceanTech\BouddhaLifePartnerMarriage\routes\UserInfoUpdate.js:62:20
at process._tickCallback (node.js:406:9)
答案 0 :(得分:0)
我知道这太疯狂了,但是我遇到了同样的问题,万一遇到其他人,我发现它实际上是.input
的类型变量中的区分大小写的问题。您有request.input('@DOB',sql.datetime,dob);
,它应该是request.input('@DOB',sql.DateTime,dob);
,大写的“ D”和“ T”。