1

嗨我想问一下:有没有办法调用带参数的json对象中返回的函数?例如我有ajax什么时候成功我在那个对象中返回一个json对象我有{"callback":{"func":"doAlert","param":"param1"}}并且

sucsess:function(data){
 data.callback.func(data.callback.param);
}

我有

var doAlert=function(param){
alert(param);
}

我明白了,我的功能没有定义。

4

3 回答 3

1

不要使用评估。做就是了

window[data.callback.func](data.callback.param);
于 2013-10-13T11:32:42.153 回答
-1

是的。您必须使用 eval 来评估表达式:

eval(data.callback.func)(data.callback.param);
于 2013-10-13T11:32:00.883 回答
-1

您需要使用 EVAL 将 JSON 中的函数名从字符串转换为函数

var funcevaluated=eval(data.callback.func);
funcevaluated(data.callback.param);

JSFiddle 中的工作示例:

http://jsfiddle.net/ghjZu/

于 2013-10-13T11:32:16.340 回答