2011-01-26 4 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

데이터 유형 제거 : "html"을 사용하여 아약스 호출 –

+0

아무런 영향이 없었습니다. – Raz

답변

0

음을보고있는 이유는 브라우저가 오류를 잡기 그것을 해결하기 위해 노력하고있다

, 즉이다. 일단 파일을 다시 다운로드하면 모두 잘되었습니다.

0

html로 (예를 들어 당신이 <table>의 하위 요소로 <h4> 요소를 가질 수 없습니다) 잘못된 브라우저 오류 복구를 시도하고있다.

0

<h4> 요소를 <table> 요소 안에 직접 포함시킬 수 없기 때문에 HTML이 제대로 렌더링되지 않습니다.

<h4>을 테이블 밖으로 이동하고 다시 시도하십시오!

0

<h4> 태그는 <table> 태그 안에 넣을 수 없습니다. 당신은 분명히 내 jQuery를 파일에 결함이 있었다 </table>