如何在Javascript对象中使用split方法

时间:2017-10-31 10:26:52

标签: javascript object split

我有这段代码

    var array, key, dc;
    $.post("/mailchimp/check_mailchimp_key",
    {
      store_id: document.getElementsByName('data[store_id]')[0].value,
      mailchimp_api_key: document.getElementsByName('data[mailchimp_api_key]')[0].value,
      array: mailchimp_api_key.split('-'),
      key: array[0],
      dc: array[1]
    }

store_idmailchimp_api_key有效,但我遇到了其他问题。这样它就会显示mailchimp_api_key is not defined,我的目标是将mailchimp_api_key中存储的内容分成keydc

2 个答案:

答案 0 :(得分:4)

mailchimp_api_key: document.getElementsByName('data[mailchimp_api_key]')[0].value

...表示当对象完成构建时,它将具有一个名为mailchimp_api_key的属性,具有该值。

mailchimp_api_key.split('-'),

...尝试阅读名为mailchimp_api_key变量

这有两个问题:

  • 变量不是对象属性
  • 对象属性尚不存在

在构造对象之前将值复制到变量。

使用它两次。

var array, key, dc;

var mailchimp_api_key = document.getElementsByName('data[mailchimp_api_key]')[0].value;

$.post("/mailchimp/check_mailchimp_key",
{
  store_id: document.getElementsByName('data[store_id]')[0].value,
  mailchimp_api_key: mailchimp_api_key,
  array: mailchimp_api_key.split('-'),
  key: array[0],
  dc: array[1]
}

答案 1 :(得分:1)

这根本不是Javascript!您不能引用刚刚定义的对象键。

var mailchimp_api_key  = document.getElementsByName('data[mailchimp_api_key]')[0].value;
var array = mailchimp_api_key.split('-');
var key = array[0];
var dc = array[1];

通过这种方式,您可以获得所需的所有变量,然后您可能希望在Ajax调用中传递它们。