簡體   English   中英

jQuery-ajax html解碼

[英]jQuery-ajax html decoding

我有一個div,需要通過ajax調用填充html表。

HTML:

<div id="showIdDiv"></div>

js:

$.ajax({
url: '../include/showIdDesc.php', 
success: function(data) { $("#showIdDiv").html(data); },
data: {id: id,numPerPage: numPerPage},
dataType: "html"
});

php腳本只是從db構建表。

這是我從firebug控制台得到的響應,這是我想要的:

<br ><br ><table class="listings"><caption> You Selected Id - melon_c10127:</caption><tr class='colNames'><th>ID</th><th>Description uniprot</th><th>Uniprot Name</th><th>Cluster</th></tr><tr><td>melon_c10127</td><td>No Matching Hit found</td><td class="alignText"><a href="http://www.uniprot.org/uniprot/" target="_blank"></a></td><td class="alignText"><a href="cluster.php?query_type=cluster&id=melon_c10127&numPerPage=10&page=0&cluster_search=6">6</a></td></tr></table><br ><br ><br >

但這是瀏覽器顯示的內容:

<br/>
<br/>
<table class="listings"/>
<h4/>
You Selected Id - 14235:IDDescription uniprotUniprot NameCluster14235
<a href="" target="_blank"/>
<a href="cluster.php?query_type=cluster&id=14235&numPerPage=10&page=0&cluster_search=2"/>
2
<br/>
<br/>
<br/>

好像沒有正確解碼html元素。 它發生在所有瀏覽器上。 我究竟做錯了什么?

謝謝...

我嘗試進行測試:

HTML:

  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Untitled Document</title>
    <script type="text/javascript" src="../js/jquery.js"></script>
    <script type="text/javascript" src="../test.js"></script>
    </head>

<body>
<button onclick="test1()">test</button>
<div id="test"></div>
</body>
</html>

測試

js:

function test1()
{
    $.ajax({
           url: '../test2.php', 
           success: function(data) { $("#test").html(data); },
           dataType: "html"
           });
}

的PHP:

<?php

echo "<table>";
echo "<caption>test</caption>";
echo "<th>test1</th><th>test1</th><th>test1</th><th>test1</th>";
echo "<tr><td>1</td><td>2</td><td>3</td><td>4</td></tr>";
echo "</table>";

?>

確實是最基本的腳本,但得到的結果與原始問題相同。 因此,可能不是html標記錯誤。

再次感謝...

HTML無效(例如,您不能將<h4>元素用作<table>的子元素),並且瀏覽器正在嘗試錯誤恢復。

您不能將<h4>元素直接嵌套在<table>元素內,這就是HTML無法正確呈現的原因。

<h4>移出桌子,然后重試!

像這樣的<table>標記內不能有<h4>標記。

您的瀏覽器正在捕獲錯誤並嘗試糾正,這就是為什么您看到</table>

顯然,我的jQuery文件存在缺陷。 一旦我再次下載文件,一切都很好。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM