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; 则没有问题