从我的API中获取带有数据的json对象。特殊数据将转换为HTML实体(使用htmlspecialchars)。看起来像这样:
{
id: "0",
title: "Hello & good day",
}
但是,当我使用$ .getJSON获取数据并将数据插入输入值时,&
仍然存在。
我该如何避免这种情况?
答案 0 :(得分:2)
您可以创建一个虚拟元素,将HTML实体作为虚拟元素的html
传递,然后将该虚拟元素的text()
传递给input
元素的值:
var $dummy = $('<div/>', { html: 'Hello & good day'});
$('input').val($dummy.text());
在一行中:
$('input').val($('<div/>', { html: 'Hello & good day'}).text());
答案 1 :(得分:1)
如果您能够使用rawurlencode更改PHP以对文本进行编码,则可以在将字符串设置为输入值之前解码该字符串:
input.value = decodeURIComponent(jsonData.title);
(假设jsonData.title
是来自响应的编码字符串。