我将这个从JAVA通过AJAX传递给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 ==
加密的原因是此值是我在更改日期时用于更新数据库的密钥。因此,我想在更新数据库之前阻止它被某人更改,导致错误的行被更改。
答案 0 :(得分:1)
您正在将myFunction
传递给"
,因此您需要用双引号("' onchange='myFunction(this.value, \"" + encoded_award_ID.replace("\"", """) + "\")' style='width: 160px;'/>";
)
{{1}}
并记得在过程中逃避双引号