当加载的内容具有特殊字符时,使用html()加载动态数据会中断脚本

时间:2014-04-24 05:22:39

标签: javascript php jquery html ajax

我从数据库获取动态数据并使用html()函数附加到我的html。 一切正常,但当动态数据包含'>'时或'<'标记为数据,脚本将其作为html标记,数据和脚本中断。

function showKeywordActivity(e, t, n, r, i) {
    var s = $(e).find("input.keywordFrequencyIdList").val();
    var o = $(e).find("input.keywordId").val();
    var u = $(e).find(".keywordValue").val();
    $(".hashKeyword").text("#" + u);
    $("#tabs-1").html('<div class="innerBox"><div class="innerBoxcontent scroll"><div class="loadingWrap"><div class="loading"></div></div></div><div class="dashboardBottombox"></div></div>');
    $.ajax({type: "POST",url: "url",data: {pageUrlHandle: n,keywordId: o,pattern: u,serviceType: t,startDate: r,endDate: i,keywordType: $("#keywordActivityTypeFilter").val(),keywordType: $("#activityFilter").val()},dataType: "html",async: true,success: function(t) {
            $(e).css("background", "#F8FAFF");
            $("#tabs-1").html(t);
            $(".scroll").each(function() {
                $(this).mCustomScrollbar({theme: "light",advanced: {updateOnBrowserResize: true,updateOnContentResize: true,autoExpandHorizontalScroll: false,autoScrollOnFocus: true}})
            })
        },error: function(e, t) {
        }})
}

如何解决此错误。有人请帮助我

2 个答案:

答案 0 :(得分:2)

使用$("#tabs-1").text(t);代替.html();来转义特殊字符。

答案 1 :(得分:0)

如果您希望html内容放在某个标记内(比如#target),那么

 $('#target').html(content);

如果您想要text个内容,那么

  $('#target').text(content);