2011-11-05 21 views
-2

當我使用AJAX技術時。爲了生成HTML,我發現這個標籤不會被瀏覽器解析,而只是作爲其原始字符串打印在表格中。什麼可能是問題?<a>標記未在AJAX中解析

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是包含標籤的字符串。

+7

請提供一些代碼。另外,考慮回去並接受你以前的問題的答案。 –

+0

你有沒有試圖簡化這個呢?通過將其更改爲'var html =「

test
」'進行調試。如果這不能正確呈現,那麼機會就在代碼中的其他地方。另外,考慮使用jsfiddle.net,這是一個很好的工具。 – hafichuk

回答

0

如果可能的話,從showtime中刪除標籤,並添加它,因爲你有其他人。

如果你不能,你需要做一個字符串替換showtime作爲「<」和「>」將被編碼爲通過AJAX返回時的HTML等效。

嘗試:

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