如何在文档就绪函数中执行字符串

时间:2017-05-18 12:33:59

标签: javascript jquery

如何在文档就绪函数中执行字符串? 这是我的字符串。

"if(!$('#frmReportPara').validatec({employee_no_from:{required:true},employee_no_to:{required:true},division_id:{required:true}})){return;}"

3 个答案:

答案 0 :(得分:2)

如果要执行字符串,则需要使用通常被视为unsafe的{​​{1}}之一的函数,例如eval。在此之前,您应该注意以下几点:

  • 如果有人能够在你的字符串中注入一些内容(比如说你在数据库中保存了某些内容),那么如果他们将恶意代码注入你的数据库,他们就有可能在其他人的浏览器上执行代码。 / LI>
  • 由于eval,浏览器无法优化此JavaScript,因此您可以获得一些性能提升

所以你可以这样做:

$(document).ready(function() {
   var myFunc = 'console.log("Foo");'
   eval(myFunc);
});

答案 1 :(得分:1)

$(document).ready(function() {
   str = "if(!$('#frmReportPara').validatec({employee_no_from:{required:true},employee_no_to:{required:true},division_id:{required:true}})){return;});"
   eval(str);
});

答案 2 :(得分:1)

您可以使用评估功能:

代码

$(document).ready(function(){
   eval("if(!$('#frmReportPara').validatec({employee_no_from:{required:true},employee_no_to:{required:true},division_id:{required:true}})){return;}"
);
}) 

要小心,虽然在javascript中将eval()视为邪恶