出于CSRF的目的,我需要使用[tokenName]在下面的函数中将变量值作为名称传递。在Firefox和Chrome浏览器中工作正常,但在IE11上却不能。
我得到的错误是: [tokenName]行上的预期标识符,字符串或数字。
有想法吗?
$('#container').on('click','#delete',function(e) {
e.preventDefault();
var button = $(this),
form = button.closest('form'),
id = button.attr('data-id'),
verify = button.attr('data-verify'),
tokenName = form.find('input[name=token_name]').val(),
tokenHash = form.find('input[name=' + tokenName + ']').val();
// delete user via ajax
$.post(form.attr('action'), {
"id" : id,
"object" : verify,
[tokenName] : tokenHash
}, function(data) {
// do stuff
}, "json");
});
答案 0 :(得分:3)
您总是可以退回到较旧的语法:
var options = {
"id" : id,
"object" : verify,
};
options[tokenName] = tokenHash;
$.post(form.attr('action'), options, function(data) {
//...
});
答案 1 :(得分:0)
您是否正在使用babel,它是否已配置为捆绑IE?
答案 2 :(得分:0)
let myString = 'company234'
setItem(myString, myData)
IE 11不支持此功能