2012-03-09 14 views
2

JSONオブジェクトを渡し、私は以下の関数を呼び出すと、それを私は以下</p> <p><img src="https://i.stack.imgur.com/1Rw9b.png" alt="enter image description here"></p> <p>のようなJSONオブジェクトという名前のデータを持っている

enter image description here

のような文字列で関数宗派を持っていますtestは私が呼びたい関数の名前で、jsonオブジェクトデータを渡します。ここ

は、テスト関数である:

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

私はすでに試してみてください。

eval(func(data)); 

それは動作しません。

ありがとうございました。

+0

を? – pimvdb

+0

私は質問を更新して、テスト機能を追加しました – Bronzato

+0

[JSONオブジェクトのようなものはありません](http://benalman.com/news/2010/03/theres-no-suchthing-as-a- json /)。 'data'はJSONを含む文字列です。最初に解析するか、JavaScriptオブジェクト/配列です。 –

答えて

0

eval()は解決策の1つですが、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

これはあなたの関数がグローバルスコープを持っている前提としています。

+0

ありがとう、私の友人。 – Bronzato

+0

問題はありません。喜んで助けてください –

0

は、この成功の機能を使用し、あなたのテスト関数は、ウィンドウの範囲であると仮定すると:

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

    window[func](data);       
} 
関数 `test`が定義されている
関連する問題

 関連する問題