我使用Kendo UI所見即所得的編輯器將格式化的文本輸入到使用PHP的MySQL數據庫中。這一點工作正常。我在我的數據庫中編碼了HTML。在Kendo UI中顯示編碼的HTML
我正在使用Kendo UI ListView從數據庫輸出數據。我想通了,我需要使用2個函數來獲取正確的HTML編碼回:
$row["body"] = stripslashes(html_entity_decode($row["body"]));
$row["body"] = str_replace(" ", " ", $row["body"]);
現在JSON提要輸出正確的HTML(據我可以用最少的測試看)。
Javascript需要從JSON提要獲取數據並將其顯示在ListView的頁面上,現在顯示HTML代碼,而不是編碼的HTML代碼,這很好,但我真正喜歡的是爲它顯示實際的格式文本。
我試過第二次解析通過html_entity_decode()的字符串,沒有運氣。我認爲這是必須用JS完成的事情,但我不確定Kendo UI可以如何實現這一點,因爲它正在完成所有的解析。
我的JS:
$(document).ready(function() {
var dataSource = new kendo.data.DataSource({
transport: {
read: {
url: "http://dev.openbill.co.uk/admin/crud/viewticket/main.json.php?id=<?php echo $_GET['id']; ?>",
contentType: "application/json; charset=utf-8",
type: "GET",
dataType: "json",
}
},
schema: {
data: "data",
total: "total",
parse: decode
},
serverPaging: true,
serverSorting: true,
pageSize: 10,
page: 1,
});
$("#pager").kendoPager({
dataSource: dataSource
});
$("#listView").kendoListView({
dataSource: dataSource,
template: kendo.template($("#template").html())
});
});
救了我!在Google的第二次點擊中找到了這一點。乾杯! –
同樣的故事,但與劍道網格。 一些疑難雜症 - 劍道網格列有一個屬性編碼:false/true,這也將指定是否要讓網格自動編碼該項目。這不適用於模板,因此您需要從模板中控制編碼。 還有另一個問題 - 你也可以使用#:#而不是#=#這也將編碼模板字段。似乎只有#=#不會對它們進行編碼。 –