首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery-ajax html解码

jQuery-ajax html解码
EN

Stack Overflow用户
提问于 2011-01-26 14:58:33
回答 4查看 913关注 0票数 0

我有一个div需要通过ajax调用填充一个html表。

Html:

代码语言:javascript
复制
<div id="showIdDiv"></div>

js:

代码语言:javascript
复制
$.ajax({
url: '../include/showIdDesc.php', 
success: function(data) { $("#showIdDiv").html(data); },
data: {id: id,numPerPage: numPerPage},
dataType: "html"
});

php脚本只是从db构建一个表。

这是我得到的响应(从firebug控制台),这是我想要的:

代码语言:javascript
复制
<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 >

但这是浏览器显示的内容:

代码语言:javascript
复制
<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:

代码语言:javascript
复制
  <!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:

代码语言:javascript
复制
function test1()
{
    $.ajax({
           url: '../test2.php', 
           success: function(data) { $("#test").html(data); },
           dataType: "html"
           });
}

php:

代码语言:javascript
复制
<?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标记错误。

再次感谢..。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-02-13 18:57:25

显然,我的jQuery文件中有一个缺陷。一旦我再次下载了这个文件,一切都很好。

票数 0
EN

Stack Overflow用户

发布于 2011-01-26 15:00:59

该超文本标记语言无效(例如,不能将<h4>元素作为<table>的子元素),并且浏览器正在尝试错误恢复。

票数 0
EN

Stack Overflow用户

发布于 2011-01-26 15:01:15

您不能将<h4>元素直接嵌套在<table>元素中,这就是为什么您的HTML不能正确呈现的原因。

<h4>移出表,然后重试!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4802061

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档