java - 如何将加密值从包含“onchange”的 JAVA 构建的 HTML 传递到 HTML
问题描述
我通过 AJAX 将它从 JAVA 传递到 HTML:
json = json + "<input class='form-control mr-sm-2' type='date' name='awardDate' id='awardDate' value='" + youthMemberAward.getCaAwardedDate() + "' onchange='myFunction(this.value, " + youthMemberAward.getAwId() + ")' style='width: 160px;'/>";
但是,我想在将它传回之前加密 YouthMemberAward.getAwId() :
byte[] bytesEncoded =
Base64.encodeBase64(youthMemberAward.getAwId().getBytes());//encoding part
String encoded_award_ID = new String(bytesEncoded);
json = json + "<input class='form-control mr-sm-2' type='date' name='awardDate' id='awardDate' value='" + youthMemberAward.getCaAwardedDate() + "' onchange='myFunction(this.value, " + encoded_award_ID + ")' style='width: 160px;'/>";
但是,当我这样做时,我得到一个错误。当我检查页面时,错误是:
Uncaught SyntaxError: Unexpected token )
传回的加密值为:Ng==
加密的原因是这个值是我在日期发生变化时用来更新数据库的密钥。因此,在我更新数据库导致错误的行被更改之前,我想防止它被某人更改。
解决方案
您正在传递 a String
into myFunction
,因此您需要用双引号 ( "
)将其括起来
"' onchange='myFunction(this.value, \"" + encoded_award_ID.replace("\"", """) + "\")' style='width: 160px;'/>";
并记住在此过程中转义双引号
推荐阅读
- amazon-web-services - 无法使用 IAM 角色从 aws-ec2 上的 secretsmanager 检索秘密
- c++ - 确保没有变体的类型安全
- r - 为什么 lapply 有效而 apply 无效?
- c++ - Visual Studio cmake远程linux开发mysql中的分段错误
- java - Android:如何在 Question1 类中使用方法 emitBubbles()
- python - 我使用 Pandas 掩码通过使用输入日期从数据框中获取数据,但开始日期的日期没有出现
- react-native - HeaderButtons.js 有什么问题?
- c# - 如何声明一个空的 ClientContext
- xml - Spring 4 控制器字符串到 XML 响应
- kotlin - 如何使用 TestPropertyProvider 并使用 Kotlin 向 Micronaut 注入 RxHttpClient