【问题标题】:Javascript Objects properties not getting added未添加 Javascript 对象属性
【发布时间】:2014-08-26 21:12:51
【问题描述】:

我的服务器端猫鼬代码中有几个命令,但我不知道为什么我不能在服务器端向这个数据对象添加更多属性,而我可以在chrome控制台没有任何问题

var data = {};
        data = noteData;
        data.uploader = req.user.username;
        console.log(data.uploader);
        console.log(req.user.username);
        data.actualFileName = actualFileName;
        console.log(data.actualFileName);
        console.log(actualFileName);
        data.storedFileName = storedFileName;
        console.log(data.storedFileName);
        console.log(req.storedFileName);
        console.log(data);

noteData 具有以下值 -

{"title":"1","subject":"2","author":"3","department":"CSE","college":"MSRIT","description":"45","details":"5","tags":["6"]}

上面代码片段的控制台输出是 -

undefined
harshitladdha93@gmail.com
undefined
[ 'EIPR.odt', 'EIPR.docx' ]
undefined
undefined
{"title":"1","subject":"2","author":"3","department":"CSE","college":"MSRIT","description":"45","details":"5","tags":["6"]}

我还应该尝试调试此错误或提供哪些其他信息?

【问题讨论】:

    标签: javascript node.js object mongoose


    【解决方案1】:

    当您说 data = noteData - 它现在与 noteData 的类型相同...所以如果 noteData.property 不存在,则 data 的属性将不存在。

    【讨论】:

    • 所以如果我跳过那部分并写 noteData.uploader = value;依此类推,它应该可以正常工作吗?但显然不是。我确实在 chrome 控制台中尝试了这两种方式,并且都运行良好,如果我使用 data = noteData 也没关系
    • 在您为 noteData 的值共享的字符串中,“uploader”没有任何值......所以它不会工作。如果 noteData 是您实例化的对象,并且如果您将 noteData.uploader 设置为某个对象,那么它会起作用。尝试 data.base = noteData... 然后继续执行其余代码... 然后 data.base 将保存字符串,其余属性也将正确设置
    • 因为数据是对象的一个​​单独实例。因此,通过将值设置为数据,它对 noteData 没有任何作用。如果要将 noteData 设置为数据类型的对象,请使用 barnescode.com/f/ex.txt 之类的内容。否则,您需要显式设置 noteData.uploader
    【解决方案2】:

    试试这个方法,如果不行,给我们看看你的猫鼬代码。

    var data = {};
    data = noteData;
    
    data['uploader'] = 'USER_NAME';
    console.log(data.uploader);
    data['actualFileName'] = 'FILE_NAME';
    console.log(data.actualFileName);
    data['toredFileName'] = 'STORE_FILENAME';
    console.log(data.storedFileName);
    console.log(data);
    
    Object {title: "1", subject: "2", author: "3", department: "CSE", college: "MSRIT"…}
    actualFileName: "FILE_NAME"
    author: "3"
    college: "MSRIT"
    department: "CSE"
    description: "45"
    details: "5"
    subject: "2"
    tags: Array[1]
    title: "1"
    toredFileName: "STORE_FILENAME"
    uploader: "USER_NAME"
    __proto__: Object
    

    【讨论】:

    • 我只是更改了 busboy 方法来接收字段,它收到了预期的结果,我想我误解了 busboy 在接收或发送数据和文件时的行为。无论如何,谢谢你的时间
    猜你喜欢
    • 2014-05-29
    • 2021-09-19
    • 2022-07-21
    • 2015-06-13
    • 1970-01-01
    • 1970-01-01
    • 2018-04-25
    • 2011-11-09
    • 2013-11-07
    相关资源
    最近更新 更多