2016-07-15 19 views
0

我在遇到錯誤讀取屬性「名」的未定義如果條件COLUMNNAME ==「名」類型錯誤:無法在節點js代碼

receivedValues = req.body 
var usercolumns = ["name","price","duration","gender"]; 

    //FOR VALIDATING VALUES BEFORE SUBMISSION 
    for(var iter=0;iter<usercolumns.length;iter++) 

    { 
     columnName = usercolumns[iter]; 
     console.log("column name",columnName); 
     if(receivedValues[columnName] == undefined && (columnName=='name' || columnName=='price' || columnName=='duration' || columnName=='gender')) 
     { 

enter image description here

+0

你確定 'receivedValues' 不是不確定? - 它從何而來? –

+0

你可以添加錯誤文本嗎? – Mary

+0

TypeError:無法在exports.create(D:\ New \ vabo \ nodejs \ controller \ service.js:42:40)中讀取未定義的 的屬性'name' –

回答

2

receivedValues變量似乎這裏沒有定義,你應該添加更多代碼來提問。

+0

receivedValues = req.body –

+1

你使用[body-parser](https://github.com/expressjs/body-parser)嗎?你應該使用它從req.body – Maxx

+0

獲取屬性謝謝你,我很想念它。 –

0
if(receivedValues && receivedValues[columnName] == undefined && (columnName=='name' || columnName=='price' || columnName=='duration' || columnName=='gender')) 

你需要檢查,如果receivedValues存在

,你可以優化你的代碼:

if(receivedValues && !columnName in receivedValues && columnName in usercolumns)