2

我在通过 ajax 调用重新加载的页面上有一个输入框(内容是刷新)。问题是当输入框中有一个单引号时,剩余的值被截断,我该如何解决这个问题?

myVal = <-- its coming dynamically from db and when it contains values like "It's me", next time page reloads It just show "It" in input box
$('#myInput').val(myVal);
//after setting value and doing some other things, this content is reloaded

这是java(服务器端代码)

<input id="myInput"  value="<c:if test='${deamer!=null}">${deamer.name}, ${deamer.code}</c:if>' />

当来自服务器端的值包含 ['] 时,代码将失败....

4

2 回答 2

2

您遇到转义字符串的问题。请务必注意这一点,因为对字符串转义的不当处理可能会导致潜在的 XSS 和注入攻击。

由于您没有提供任何代码,也没有指定您在服务器端使用什么语言在脚本中插入数据库值,因此您无法获得更多帮助。我建议不要插入这样的原始数据,并使用某种形式的中介,例如 JSON 形式的服务器响应,它可以很容易地被 javascript 使用。

于 2013-03-20T18:57:33.520 回答
0

我无法重现该问题:

$(document).ready(function() {
   myVal = "It's me"
   $('#myInput').val(myVal);
});

输入文本是我。

演示

于 2013-03-20T18:55:24.723 回答