我坚持在数据表中显示时替换JSON数据中的特殊字符,这里的问题是我希望显示XML格式文本的列之一,但它显示“”(null)值,请分享我的想法,我试过下面的代码,但抛出一些问题,
var str;
var jsonData = {"aaData": [{"USER_NAME" : "Binod","PASSWORD" : "pass123","EMAIL_ID" : "gmail.com"},{"USER_NAME" : "Param.1","PASSWORD" : "Param.2","EMAIL_ID" : "Param.3"},{"USER_NAME" : "Ritesh","PASSWORD" : "pass123412","EMAIL_ID" : '<?xml version="1.0" encoding="UTF-8"?>'},{"USER_NAME" : "ajit","PASSWORD" : "pass123","EMAIL_ID" : '<?xml version="1.0" encoding="UTF-8"?>'},{"USER_NAME" : "dfd","PASSWORD" : "dsfd","EMAIL_ID" : '<?xml version="1.0" encoding="UTF-8"?>'},{"USER_NAME" : "dinesh","PASSWORD" : "abc","EMAIL_ID" : '<?xml version="1.0" encoding="UTF-8"?>'},{"USER_NAME" : "dinesh1","PASSWORD" : "abc","EMAIL_ID" : '<?xml version="1.0" encoding="UTF-8"?>'},{"USER_NAME" : "dinesh12","PASSWORD" : "abc","EMAIL_ID" : '<?xml version="1.0" encoding="UTF-8"?>'},{"USER_NAME" : "dinesh123444","PASSWORD" : "abc","EMAIL_ID" : '<?xml version="1.0" encoding="UTF-8"?>'}]}
function applyEscapeChars(jsonData)
{
str = jsonData;
var specialChars = new Array();
specialChars[0] = "&";
specialChars[1] = "\"";
specialChars[2] = "'";
specialChars[3] = "<";
specialChars[4] = ">";
var escapeChars = new Array();
escapeChars[0] = "&";
escapeChars[1] = """;
escapeChars[2] = "'";
escapeChars[3] = "<";
escapeChars[4] = ">";
for (var i =0; i < specialChars.length; i++ )
{
str = str.split(specialChars[i]).join(escapeChars[i]);
}
//alert(str);
return str;
}
$('#example').dataTable( {
"aaData": jsonData.aaData,
"aoColumns": [
{ "mDataProp": "USER_NAME" },
{ "mDataProp": "PASSWORD" },
{ "mDataProp": "XML_Data" }
]
});
$('body').on("click", ".dataTable tr" ,function () {
$(this).addClass("selected").siblings().removeClass("selected");
});
以下是JS Fiddle
谢谢你。
答案 0 :(得分:0)
在你的代码中,var声明的是大写字母&#39; V
&#39;把它做成小写并尝试。