我尝试将此数据发送到API:
data={
"to":{name : "to whom"}
};
但JavaScript并不允许我这样做(请注意" name"是一个变量)。另一方面,它允许我做如下:
data={
"to" :{"me": "to whom"}
};
我做错了什么?
答案 0 :(得分:0)
ES5原则上不允许你这样做。您需要将内部哈希值创建为变量并使用它。
var address = {};
address[name] = 'to whom';
var data = {
to: address
};
如果您使用的是ES6语法,则可以在声明中添加括号
var data = {
to: { [name]: 'to whom' }
};
答案 1 :(得分:0)
在JavaScript中{name : "to whom"}
和{"name" : "to whom"}
完全相同。您要找的是computed property names:
var data = {
"to": {[name]: "to whom"}
};
节点v6.0支持此语法。