<a> tag is not parsed in the AJAX</a> {{3}}

时间:2011-11-05 05:32:44

标签: javascript ajax

当我使用AJAX技术时。为了生成HTML,我发现浏览器不会解析标签,只是将其作为原始字符串打印在表格中。什么可能有问题?

var html = "<table border=\"1\" style=\"border: 1px solid; text-align: center; font-family: Times New Roman; font-size: 12px;\">";
        html += "<tr><td><b>Cover</td><td><b>Title</b></td><td style=\"width: 100px;\"><b>Movie Dutation</b></td><td><b>Showtime</b></td><td><b>Tweet</b></td></tr>";
        for(var i = 0; i < movies.movies.movie.length; ++i){
            var movie    = movies.movies.movie[i];              
            var cover    = movie.cover;
            var title    = movie.title;
            var duration = movie.duration;
            var showtime = movie.showtime;
            var theatre  = movie.theatre;
            var url      = movie.url;
            var twitter  = "I am planning to watch #" + title + " @ " + theatre + "... " + url; 
            html += "<tr>";
            html += "<td>" + "<img " + "src=" + cover + ">" + "</td>";
            html += "<td>" + title + "<a href=\"\">helloWorld</a>" + "</td>";
            html += "<td>" + duration + "</td>";
            // The <a> tag would not be parsed.
            html += "<td>" + showtime + "</td>";
            html += "<td>" 
                    + "<a href=\"https://twitter.com/share\" class=\"twitter-share-button\""
                    + " data-url=\"blog.denglitao.org\""
                    + " data-counturl=\"blog.denglitao.org\""
                    + " data-text=\"" + twitter + "\""
                    + " data-count=\"vertical\""
                    + ">Tweet</a>" 
                  + "</td>";
            html += "</tr>";
        }
        html += "</table>"; 
        document.getElementById("content").innerHTML = html;

showtime是包含标记的字符串。

1 个答案:

答案 0 :(得分:0)

如果可能,请从showtime中删除标记,并将其添加为其他标记。

如果你不能在showtime上将字符串替换为“&lt;”和“&gt;”将通过AJAX返回时编码为html等效。

尝试:

showtime.replace(/[<]/g,'&lt;').replace(/[>]/g,'&gt;');