javascript中使用 eval() 字符串中含有 回车符/r/n 就会无法提交的问题

JavaScript的eval()函数的作用 是将一个字符串作为脚本代码进行解析和执行。

它可以动态地执行字符串中的JavaScript代码,并返回执行结果。

eval()函数可以用于执行任何有效的JavaScript代码,包括声明变量、定义函数、执行表达式等。

eval()函数的语法如下:

eval(string)

其中,string参数表示要执行的字符串代码。

需要注意的是,使用eval()函数可能存在安全风险,因为它可以执行任意的JavaScript代码,包括恶意代码。因此,应该谨慎使用eval()函数,并避免将不可信的字符串作为参数传递给eval()函数。

示例

在一个文本框中的含有回车符

 代码

var formArray=$('#formRecord').serializeArray();
var postData={};
for(var item in formArray) {        
    //eval("postData."+formArray[item].name+"='"+formArray[item].value+"'");        
    postData[formArray[item].name] = formArray[item].value;
}

formArray 是表单的数组

这段代码的目标是把 formArray数组 转换的 Json对象postData  而用于提交

此时用 eval() 函数 则 如果表单值中有 回车符 /n/r 就会出错

所以不能用 eval() 函数

用  postData[formArray[item].name] = formArray[item].value;  则没有问题

posted @ 2024-01-25 13:56  海乐学习  阅读(85)  评论(0编辑  收藏  举报