我有一个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标记错误。
再次感谢..。
发布于 2011-02-13 18:57:25
显然,我的jQuery文件中有一个缺陷。一旦我再次下载了这个文件,一切都很好。
发布于 2011-01-26 15:00:59
该超文本标记语言无效(例如,不能将<h4>元素作为<table>的子元素),并且浏览器正在尝试错误恢复。
发布于 2011-01-26 15:01:15
您不能将<h4>元素直接嵌套在<table>元素中,这就是为什么您的HTML不能正确呈现的原因。
将<h4>移出表,然后重试!
https://stackoverflow.com/questions/4802061
复制相似问题