JSP 未捕获引用错误my()未定义

wa7juj8i  于 2022-12-31  发布在  其他
关注(0)|答案(2)|浏览(184)
<input type="button" class="btn" value="Place Order" onclick="my()">

<script type="text/javascript">

  <% String resp= session.getAttribute("jsonData").toString();%>
  const jso="<%=resp%>"
function my(){

    alert(jso);

  }



</script>

我想获取JSP变量,并存储在JavaScript中,并显示在警报中,但当我这样做时,我的onclick函数返回函数my没有定义。

9q78igpj

9q78igpj1#

这一定行得通。如果不行,那就是另有隐情
这里我不补充了

<% String resp= session.getAttribute("jsonData").toString();%>

出于显而易见的原因
x一个一个一个一个x一个一个二个x

cbeh67ev

cbeh67ev2#

您可能在此行中遇到JavaScript错误:第一个月
resp来自一个名为jsonData的属性,因此我假设它包含JSON。JSON中的属性和字符串值用双引号括起来。下面的小示例已经显示了我所期望的错误:

const jso="{"key": "value"}"

开头的"不是由最后一个"关闭的,而是由JSON中的第一个关闭的。换句话说,您正在输出无效的JavaScript。
最好的解决方案是正确地转义JSON。我建议使用Apache Commons Text 1.10.0

const jso="<%=StringEscapeUtils.escapeJson(resp)%>"

这将在输出resp之前正确转义其中的任何不安全字符,包括"

相关问题