如何在显示数据表时替换JSON数据中的特殊字符?

时间:2015-04-13 04:06:56

标签: jquery ajax datatable

我坚持在数据表中显示时替换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] = "&amp;";
                                    escapeChars[1] = "&quot;";
                                    escapeChars[2] = "&apos;";
                                    escapeChars[3] = "&lt;";
                                    escapeChars[4] = "&gt;";

                                    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

谢谢你。

1 个答案:

答案 0 :(得分:0)

在你的代码中,var声明的是大写字母&#39; V&#39;把它做成小写并尝试。