我有这段代码
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_id
和mailchimp_api_key
有效,但我遇到了其他问题。这样它就会显示mailchimp_api_key is not defined
,我的目标是将mailchimp_api_key
中存储的内容分成key
和dc
。
答案 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调用中传递它们。