2

JSON を扱うのは私にとってまったく新しいことですが、すでに気に入っています。しかし、私は厄介な問題に直面しています。仕組みは次のとおりです。jquery は特定の URL に対して Ajax リクエストを作成し、この URL は STRUTS アクションであり、成功すると特定の JSP を返します。この JSP には JSON taglib ( http://www.atg.com/taglibs/jsonが含まれます) ) 適切な JSON フォーマットをレンダリングするため。

クライアントとサーバー間の通信を形成すると、次のようになります。 代替テキスト http://www.freeimagehosting.net/uploads/e4a91d6251.jpg

ご覧のとおり、http ヘッダーは問題ないように見えますが、JSON には 16 進数が含まれています。などの文字'

問題は、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 エンコードされているため、スパンではhtml()なくを設定する必要があるようです。text()description

于 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 に答える