2011-01-26 18 views
0

私はdivをajax呼び出しでhtmlテーブルで埋めなければなりません。jQuery-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からテーブルを構築しています。

これは私が欲しいものである私は(放火魔コンソールから)反応して得るものです:

<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マークアップエラーではありません。

おかげで再び...

+0

申し訳ありませんが、無効なhtmlタグについて私の悪い私はそれを修正..まだそれは動作していない... – Raz

+0

あなたのajaxコールからdataType: "html"を削除してみてください –

+0

それは効果がありませんでした... – Raz

答えて

0

まあを見ているその理由は明らかに私はjQueryのファイルに欠陥があったのです、エラーをキャッチし、それを修正しようとしています。ファイルをもう一度ダウンロードしたら、うまくいった。

0

HTMLが無効である(例えば、あなたが<table>の子要素として<h4>要素を持つことができない)とブラウザがエラー回復を試みています。

0

<h4>要素を<table>要素の中に直接ネストすることはできません。そのため、HTMLが正しくレンダリングされません。

<h4>をテーブルから外して、もう一度試してみてください!

0

<h4>タグは、<table>タグの中に含めることはできません。

お使いのブラウザは、あなたが</table>

関連する問題