2

使用 JSON 对我来说很新鲜,但我已经喜欢它了。但我面临一个恼人的问题。事情是这样工作的:jquery 对特定的 url 发出 Ajax 请求,这个 url 是一个 STRUTS 动作,成功时返回一个特定的 jsp,这个 jsp 包括 JSON taglib ( http://www.atg.com/taglibs/json ) 以呈现正确的 JSON 格式。

塑造客户端和服务器之间的通信给了我这个: alt text http://www.freeimagehosting.net/uploads/e4a91d6251.jpg

如您所见,http 标头看起来不错,但我的 JSON 包含十六进制。字符,例如'

问题是,我正在使用部分 JSON 答案来使用 Jquery 输出 html;每次发出ajax请求时,我都面临着动态创建工具提示的问题。

也许我的 javascript 代码不能很好地处理 JSON 输入,所以这里有一些我的代码来处理这个 JSON 答案:

var toolTip = $("<span/>").addClass("tooltip").text(article.description).hide().appendTo(rowDescriptionArticle);

如您所见,我基本上检索每个文章节点的描述,并使用 text() 将其插入到我的跨度中。

知道出了什么问题吗?

4

2 回答 2

1

包含 HTML 实体的 JSON 并没有什么异常——如果这是浏览器要显示的字符串的一部分,那么听起来不错。

根据您发布的 jQuery 片段和 JSON 示例,在我不使用 jQuery 的意见中,您应该设置跨度html()而不是text()跨度,因为您的description字段已经是 HTML 编码的。

于 2010-01-12T13:16:31.120 回答
0

这是我的 JSON 的样子:

{"totalPanier":"0,00","articles":[{"id":"8a8b8d632481567f01248156fac90009","reference":"CART01","prixAffiche":"0,00","quantite":"0","libelle":"Carte CADEAUX Ã  montant variable","montantRemise":"","prixTotal":"00,00","visuel":"/documentsArticles/2009/14131/0005/209141310005_dim1.jpg","description":"Carte Cadeaux d&#039;une valeur de 15 Ã  150 euros."},{"id":"8a8b8d632481567f0124815706910010","reference":"CART80","prixAffiche":"80,00","quantite":"0","libelle":"Carte CADEAUX 80 Euros","montantRemise":"","prixTotal":"00,00","visuel":"/documentsArticles/2009/14131/0004/209141310004_dim1.jpg","description":"Carte Cadeaux d&#039;une valeur de 80 Euros."},{"id":"8a8b8d632481567f012481570578000f","reference":"CART50","prixAffiche":"50,00","quantite":"0","libelle":"Carte CADEAUX 50 Euros","montantRemise":"","prixTotal":"00,00","visuel":"/documentsArticles/2009/14131/0003/209141310003_dim1.jpg","description":"Carte Cadeaux d&#039;une valeur de 50 Euros."},{"id":"8a8b8d632481567f012481570549000e","reference":"CART30","prixAffiche":"30,00","quantite":"0","libelle":"Carte CADEAUX 30 Euros","montantRemise":"","prixTotal":"00,00","visuel":"/documentsArticles/2009/14131/0002/209141310002_dim1.jpg","description":"Carte Cadeaux d&#039;une valeur de 30 Euros."},{"id":"8a8b8d632481567f012481570364000d","reference":"CART15","prixAffiche":"15,00","quantite":"0","libelle":"Carte CADEAUX 15 Euros","montantRemise":"","prixTotal":"00,00","visuel":"/documentsArticles/2009/14131/0001/209141310001_dim1.jpg","description":"Carte Cadeaux d&#039;une valeur de 15 euros."}]}

很抱歉错过了格式,但我相信你可以稍微解码它......

于 2010-01-12T13:23:31.333 回答