我有一個JSON對象命名的數據,如低於調用函數,並將它傳遞一個JSON對象
而且我有一個函數名稱在一個字符串像下面
test是我想調用的函數的名稱,並將它傳遞給json對象數據。
這裏是測試功能:
test = function (data) {
alert('I am the test function');
}
我已經嘗試:
eval(func(data));
它不工作。
有什麼想法?
謝謝。
我有一個JSON對象命名的數據,如低於調用函數,並將它傳遞一個JSON對象
而且我有一個函數名稱在一個字符串像下面
test是我想調用的函數的名稱,並將它傳遞給json對象數據。
這裏是測試功能:
test = function (data) {
alert('I am the test function');
}
我已經嘗試:
eval(func(data));
它不工作。
有什麼想法?
謝謝。
雖然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);
}
這是假設你的函數具有全局範圍。
非常感謝我的朋友。 – Bronzato 2012-03-09 12:18:08
沒問題,很樂意幫忙 – 2012-03-09 12:24:02
假設你的測試功能是在窗口範圍,使用此功能的成功:
success: function (data) {
var func = $('#confirm-remove').data('success');
window[func](data);
}
哪裏函數'test'定義? – pimvdb 2012-03-09 12:04:50
好吧我更新了我的問題,添加了測試功能 – Bronzato 2012-03-09 12:06:40
[沒有這樣的東西作爲JSON對象](http://benalman.com/news/2010/03/theres-no-such-thing-asa-a- JSON /)。 'data'是一個包含JSON的字符串,那麼你必須先解析它,或者它是一個JavaScript對象/數組。 – 2012-03-09 12:07:37