我有test.jsp
<script>
var name="<%=testName %>";
</script>
"testName"
varible全局声明,它的值为"javascript:alert("hi");"
在确定包含双引号的值时,它会给出未终止的字符串错误。 我试着逃跑了。 java端编码/解码但仍然有分配问题。 在javascript或jquery中会有什么方法?
答案 0 :(得分:1)
您可以通过prepending \
将引号/字符转义为它:
<script>
var name="<%=testName.replace('"','\"') %>";
</script>
或JS
alert(variabl.replace(/"/g, '\\"'));
答案 1 :(得分:0)
尝试简单
<script>
var name=<%=new Gson().toJson(testName)%>;
</script>
答案 2 :(得分:0)
我会在将其传递给前端之前从后端的字符串中删除任何引号。
但是,如果你需要在字符串中保留引号,你应该在后端转义它们。
因此,如果前端使用单引号括起一个字符串,则必须在后端转义单引号。
String myString = "my string\\'s test";
在前端,它最终将成为
var text = 'my string\' test';