我从存储在字符串变量中的ajax调用获得了以下函数。
obj.action="DisplayActivity('modalDisplay', 0, 4);"
我正在尝试运行它,但是没有成功。我尝试过:
eval(obj.action);
并带有:
窗口[obj.action]
有什么想法吗?谢谢。
答案 0 :(得分:2)
尝试使用New Function:
let s = "console.log('Hello '+a)",
call = new Function('a', s)
call('world!')
请确保避免从GET / POST调用内容,否则将导致它成为typical xss,从而允许通过特殊的链接更改DOM。
答案 1 :(得分:1)
我想这是一个范围界定问题。
尝试:
eval("global.tmp = function(DisplayActivity){" + obj.action + "};");
global.tmp(DisplayActivity);