MD5字符串与html()一起显示不正确
MD5 string not displaying correctly with html()
我有两个跨度,ID为salt
和password
<div>
$salt = '<span id="salt"></span>';<br />
$password = '<span id="password"></span>';
</div>
然后,我使用下面的jQuery代码,它接受salt,将其添加到用户输入的密码中,并返回salt和散列密码(复制到配置文件中)
salt = (Math.random() +1).toString(36).substr(2, 16);
$('#salt').html(salt);
hashed = CryptoJS.MD5(salt + $(this).val());
$('#password').html(hashed);
此代码使用salt
ID向跨度添加salt,但不向password
ID添加任何内容。
如果我输入代码alert(hashed)
,它将打开一个具有md5值的警报。
如果我将.html()
更改为.text()
,它会起作用。
CryptoJS.MD5()
方法返回一个对象。要将此对象转换为字符串,请使用它的toString()
方法。
hashed = CryptoJS.MD5(value);
var hashedString = hashed.toString();
而不是使用jQuerys的text()
方法将文本插入到元素中。jQuery html()
方法用于设置元素CCD_。但您希望插入未标注的文本。
$('#password').text(hashedString);
如果一个对象被传递给text()
,它将自动调用它上的toString()
,尽管这在参考中没有记录
参考
.text(text)
要设置为每个匹配元素内容的文本。当提供数字或布尔值时,它将被转换为字符串表示[…]请注意,此方法根据需要转义提供的字符串,以便在HTML中正确呈现
来自jQuery API文档:text()
.html(htmlString)
要设置为每个匹配元素内容的HTML字符串
来自jQuery API文档:html()
相关文章:
- Jquery 工具提示未随 AJAX 数据加载一起显示
- 表单的Javascript函数不与textContent一起显示
- 如何一起显示验证消息
- 地图未与传单一起显示
- jQuery timepicker不想与日期选择器插件一起显示
- 以前添加的图像与新添加的图像一起显示,并插入到表中
- 如何阻止我的汉堡图标停留在顶部栏上,使其与侧边菜单一起显示
- 一段时间后隐藏与 angularjs 表单验证一起显示的错误标签
- 按数据值选择要与 D3 一起显示的数据
- html5 type=“date” 在 AngularJS 中不与 ngmodel 一起显示
- 如何获取用户名,并将其与消息一起显示,具体取决于一天中的时间(Javascript)
- FB 共享按钮未与 AJAX 文件一起显示
- jQuery UI对话框关闭按钮没有't与本地jQuery文件一起显示
- MD5字符串与html()一起显示不正确
- 如何避免值不与url一起显示,而使用window.location.href将值从一个页面传递到另一个
- 值一起显示,而不是作为新值显示
- 计算在整个DOM中选中的所有复选框,即使这些复选框没有与DataTable一起显示
- 两张照片放在一起.显示一个悬停.可能与css或只有javascript
- 条形图不与chart.js一起显示
- RESTful API 未与简单的 AngularJS 控制器一起显示