我正在转换旧的现有PHP代码以生成HTML并使用AJAX填充表格,用于分页和动态搜索。由于现有结构,我的PHP页面将响应表格(TR和TD)的所有HTML内容,而不仅仅是数据。
我使用jQuery API .html()
插入data $('#myTable').empty().html(data)
,我尝试使用document.getElementById('myTable').innerHTML = data
。
我的问题是,只有在Internet Explorer上,才会填充表格。这两种方法都与我测试的每个浏览器完美匹配,但没有IE浏览器。我正在使用IE11。在测试结果时,我的页面返回了良好的结果,并且console.log(数据)很好。
我找到了一个可能不是答案的元素,但是当我的HTML内容出现在echo,table的填充作品上时,当我打破PHP编写适当的HTML时,它就不起作用了。即使结果完全相同,显然也是如此。
PHP中的两种方法:
工作
if(isset($_GET['ajax']) AND $_GET['ajax']=='displayContent')
{
echo '<tr><td>COL1</td><td>COL2</td></tr>';
exit;
}
无效
if(isset($_GET['ajax']) AND $_GET['ajax']=='displayContent')
{
?>
<tr><td>COL1</td><td>COL2</td></tr>
<?php
exit;
}
jQuery代码:
$.ajax({
url: "?p=operation&ajax=displayContent",
data: generateGet(),
type: 'GET',
async: true
}).done(function( data){
$( "#myTable" ).empty().html(data);
//document.getElementById('myTable').innerHTML = data;
});
HTML
<table id="myTable" border="0" width="880" cellspacing="0">
</table>
就我而言,ECHO或退出PHP标签的写法完全相同,我真的不知道如何解决我的问题。
我无法使用echo重写所有代码,实际上有很多行和代码。