微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

JavaScript 对象键不可分配,但是字段是

如何解决JavaScript 对象键不可分配,但是字段是

我对 JavaScript 还很陌生,我想知道如何获取变量的值并将其设置为相应字段的键名。我在制作 webapp 时遇到了这个问题,它的作用是接收注册数据并将其放入一个 JS 对象中以发送到我的 API。

signup.html:

        <form id="signup-form" name ="signup-form">
            <input class="login-form-field" type="text" name="user" placeholder="username">
            <input class="login-form-field" type="text" name="email" placeholder="email">
            <input class="login-form-field" type="password" name="dob" placeholder="date of birth">
            <br>
            <!--<button class="actionButton"></button>-->
            <INPUT TYPE="button" NAME="button" Value="Click" onClick="signupData(this.form)">
        </form>

下面你会看到,当我使用dob时,它会命名键dob并将字段设置为它的值。当我将键设置为变量 user 时,它不会像我最初认为的那样将键设置为变量 user 的值。如何将键设置为变量 user 的值?

    function signupData(form) //add to this script
    {
      console.log("signup data is starting");
      var user = form.user.value;
      var email = form.email.value;
      var dob = form.dob.value;

      //genSKey();
     // genPKey();

      //var skey = getSKey();
      
    //var enUser = encryptMes(user);
    //var enEmail = encryptMes(email);
      //var endob = encryptMes(dob);

      var data = {name : "LifeNet",members : {user : {profilePic : {},dob,listeners : {},listening : {},friends : {},requested : {},blocked : {},channel: false}}}
      apiPost({data});
      //pass the signup function in here

      //hash the variables and send to celox network
      console.log(JSON.stringify({data}));
      //alert (`copy and save your Private Key to somewhere safe: ${skey}`);
    }
  </script>

在下面您将看到它没有将名称设置为我在注册表单中输入的名称。 浏览器:

{"data":{"name":"LifeNet","members":{"user":{"profilePic":{},"dob":"01/25/2000","listeners":{},"listening":{},"friends":{},"requested":{},"blocked":{},"channel":false}}}}

非常感谢您的帮助,谢谢。

Terry 提到的答案:

用括号符号附加到现有对象。

      var user = form.user.value;
      var email = form.email.value;
      var dob = form.dob.value;

     var data = {name:"LifeNet",members:{}};

    data.members[user] = {profilePic:{},listeners:{},listening:{},friends:
{},requested:{},blocked:{},channel:false}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。