使用变量名称发布数据使用jquery

时间:2013-08-12 13:20:32

标签: jquery

$('i.icon-angle-up').on('click', function() {
    var data = {$(this).attr('name') : 'asc')}
    $.post('', data, function() {
        window.location.reload();
    });
});

我想将一些数据发布到服务器,但数据的名称来自变量($(this).attr('name')),我该怎么办?

我试过了

$.post('', {"$(this).attr('name')" : 'asc')}, function() {
        window.location.reload();
    });

但是进展不顺利。

谢谢大家。

2 个答案:

答案 0 :(得分:3)

对象的键不能是动态的,在这种情况下,您需要使用bracket notation来创建对象。

尝试

var data = {};
data[$(this).attr('name')] = 'asc'
$.post('', data, function() {
    window.location.reload();
});

答案 1 :(得分:0)

其他选项是使用带有eval(evil)的对象:

var data = {};
eval('data.' + $(this).attr('name') + ' = \'asc\'');