我有一个locale
变量,可以是en
,fr
或es
。
我必须发送一个AJAX请求,并将语言环境作为data
参数的键。
let locale = "en";
let name = "example";
$.ajax({
url: "/path",
method: "PUT",
data: {characteristic: {`${locale}`: name}},
success: function(){},
error: function(){}
})
我尝试使用ES6的字符串插值,但它会引发语法错误。 我怎么能这样做?
我希望得到,具体取决于语言环境:
{en: "example"}
{fr: "example"}
{es: "example"}
答案 0 :(得分:3)
为此,您可以使用computed property names:
{ [locale]: name }
// if local is "en" the above will equal { "en": name }
通常,要使用计算属性名称,请将要计算的值放在方括号中,如下所示:
{ [1 + 2]: 'three' } // is equal to { '3': 'three' }
答案 1 :(得分:0)
从here引用,您需要一个类似数组的括号来定义动态属性名称:
{
characteristic: {
[locale]: name
}
}
答案 2 :(得分:0)
这有效:
[`${locale}`]: name