假设我从服务请求中得到一些JSON,如下所示:

{
    "message": "We're unable to complete your request at this time."
}

我不确定why使徒书是这样编码的(');我只知道我想解码它.

我想到了一个使用jQuery的方法:

function decodeHtml(html) {
    return $('<div>').html(html).text();
}

不过,这似乎(非常)令人毛骨悚然.有什么更好的方法吗?有没有"正确"的方法?

推荐答案

这是我最喜欢的解码HTML字符的方法.使用此代码的好处是还保留了标记.

function decodeHtml(html) {
    var txt = document.createElement("textarea");
    txt.innerHTML = html;
    return txt.value;
}

示例:http://jsfiddle.net/k65s3/

输入:

Entity:&nbsp;Bad attempt at XSS:<script>alert('new\nline?')</script><br>

输出:

Entity: Bad attempt at XSS:<script>alert('new\nline?')</script><br>

Javascript相关问答推荐

判断现代浏览器中的点击是否由touch 触发

Vue.js使用特定索引值的数据更新html

在JavaScript中使用setProperty方法试图修改css元素值时,我遇到错误

获取POS餐厅会话用户/收银员

输入有关HTML复选框的已判断属性的信息

Angular material 表多个标题行映射

Vue:ref不会创建react 性属性

Cookie中未保存会话数据

在这种情况下,如何 for each 元素添加id?

如何将Map字符串,布尔值转换为{key:string;value:bo布尔值;}[]?<>

Mongoose post hook在使用await保存时不返回Postman响应

JSDoc创建并从另一个文件导入类型

我可以使用使用node.js创建的本地主机来存储我网站上提交的所有数据吗?没有SQL或任何数据库.只有HTML语言

在Matter.js中添加从点A到另一个约束的约束

如何在.NET Core中将chtml文件链接到Java脚本文件?

使用带有HostBinding的Angular 信号来更新样式?

如何在Bootstrap中减少网格系统中单个div的宽度

将范围 Select 器添加到HighChart面积图

在Vercel中部署Next.js项目时获取`ReferenceError:未定义文档`

如何修复使用axios运行TSC index.ts时出现的错误?