调用一个函数并传递一个json对象

时间:2012-03-09 12:02:32

标签: javascript jquery

我有一个名为data的json对象,如下所示

enter image description here

我在下面的字符串中有一个函数面额

enter image description here

test是我想要调用的函数的名称,并将它传递给json对象数据。

这是测试功能:

test = function (data) {
    alert('I am the test function');
}

我已经尝试过了:

eval(func(data));

它不起作用。

有什么想法吗?

感谢。

2 个答案:

答案 0 :(得分:0)

虽然eval()是一种可能的解决方案,但它是AWFUL。

相反,询问window以找到你想要的功能并从那里运行它:

function test() {
    alert("test")       
}

var func = $("#confirm-remove").data("success");
var data = {}; // Your object
var fn = window[func];
if (typeof fn === 'function') {
    fn(data);
}

Example fiddle

这假设您的功能具有全局范围。

答案 1 :(得分:0)

假设您的测试函数在窗口范围内,请使用此成功函数:

success: function (data) {
    var func = $('#confirm-remove').data('success');

    window[func](data);                        
}