我有一个JSON对象,其中包含一个名为callback的关键元素。
{
"id":34,
"description":"",
"item_id":4,
"callback":"addNew",
"filename":"0000072.doc",
"type":"News",
"ext":"doc",
"size":46592
}
我想调用javascript“addNew”函数。我试过了。
json.callback(json);
但是不起作用。有什么想法吗?
答案 0 :(得分:12)
假设它是一个全局函数(它不应该是):
window[json.callback](json);
如果你的代码结构合理,你可能会有一个包含JSON可以调用的所有函数的对象。
var myObject = {
func1: function myObject_func1_method(foo) {
return 1;
},
func2: function myObject_func2_method(foo) {
return 2;
}
}
然后你可以:
myObject[json.callback](json);
答案 1 :(得分:9)
不要使用eval,请使用
window[json.callback](json);
如果该功能在全局范围内。否则使用范围代替窗口。
答案 2 :(得分:-2)
使用eval(json.callback+'()');