ajax无闪刷新 出来的内容怎样支持html代码
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/...
<!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=gb2312" />
<title>ajax无闪刷新</title>
<style type="text/css">
.ok{
width:400px;
height:100px;
border:1px solid #000;
}
</style>
</head>
<body onload="MyShow()"><!--浏览器打开的时候就开始执行了-->
<script language="JavaScript">
function GetResult() {
http_request = false;
//开始初始化XMLHttpRequest对象
if(window.XMLHttpRequest) { //Mozilla 浏览器
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType) {//设置MiME类别
http_request.overrideMimeType('text/xml');
}
}
else if (window.ActiveXObject) { // IE浏览器
try {
http_request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!http_request) { // 异常,创建对象实例失败
window.alert("不能创建XMLHttpRequest对象实例.");
return false;
}
http_request.open("POST","abc.php",false); //获取的页面
http_request.send();
var strResult = http_request.responseText;
RemoveRow(); //删除以前的数据.
num1 = strResult; //字段num1的值
row1 = tb.insertRow();
cell1 = row1.insertCell();
cell1.innerText = num1;
}
function RemoveRow() {
//保留第一行表头,其余数据均删除.
var iRows = tb.rows.length;
for(var i=0;i<iRows-1;i++) {
tb.deleteRow(1);
}
}
function MyShow() {
//2秒自动刷新一次,2秒取得一次数据.
timer = window.setInterval("GetResult()",1000); //1千=一秒
}
</script>
<p>
</p>
<table width="47%" height="23"border="0" cellpadding="1" cellspacing="0" id="tb">
<tr>
<td><? echo "num1"?></td>
</tr>
</table>
</body>
</html>
从网上找的这样的代码,我使用后 出来的内容 都不支持html代码了 代码都是文本,什么css啊 都不能有效,就好像txt文本一样,有什么办法能让他支持html代码?
回传的就是一个html完整页面 css也有 html代码也有
<html>
<head>
<style type="text/css">
* { word-wrap: break-word; }
直接这样显示下去 完全是个文本 而不是代码 展开
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>ajax无闪刷新</title>
<style type="text/css">
.ok{
width:400px;
height:100px;
border:1px solid #000;
}
</style>
</head>
<body onload="MyShow()"><!--浏览器打开的时候就开始执行了-->
<script language="JavaScript">
function GetResult() {
http_request = false;
//开始初始化XMLHttpRequest对象
if(window.XMLHttpRequest) { //Mozilla 浏览器
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType) {//设置MiME类别
http_request.overrideMimeType('text/xml');
}
}
else if (window.ActiveXObject) { // IE浏览器
try {
http_request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!http_request) { // 异常,创建对象实例失败
window.alert("不能创建XMLHttpRequest对象实例.");
return false;
}
http_request.open("POST","abc.php",false); //获取的页面
http_request.send();
var strResult = http_request.responseText;
RemoveRow(); //删除以前的数据.
num1 = strResult; //字段num1的值
row1 = tb.insertRow();
cell1 = row1.insertCell();
cell1.innerText = num1;
}
function RemoveRow() {
//保留第一行表头,其余数据均删除.
var iRows = tb.rows.length;
for(var i=0;i<iRows-1;i++) {
tb.deleteRow(1);
}
}
function MyShow() {
//2秒自动刷新一次,2秒取得一次数据.
timer = window.setInterval("GetResult()",1000); //1千=一秒
}
</script>
<p>
</p>
<table width="47%" height="23"border="0" cellpadding="1" cellspacing="0" id="tb">
<tr>
<td><? echo "num1"?></td>
</tr>
</table>
</body>
</html>
从网上找的这样的代码,我使用后 出来的内容 都不支持html代码了 代码都是文本,什么css啊 都不能有效,就好像txt文本一样,有什么办法能让他支持html代码?
回传的就是一个html完整页面 css也有 html代码也有
<html>
<head>
<style type="text/css">
* { word-wrap: break-word; }
直接这样显示下去 完全是个文本 而不是代码 展开
2个回答
展开全部
废话先不说,直接看代码:
row1 = tb.insertRow();
cell1 = row1.insertCell();
cell1.innerText = num1;
这一句.cell1.innerText改成cell1.innerHTML, 两具方法的意思很显示,一个是指定单元格内的文本,一个是指定单元格内的HTML代码.
另给你一些js小常识:
1. innerText是IE下的方法,FF下不支持,所以为了兼容性,统一写成innerHTML.
2. 好像记得在td里直接使用innerHTML方法可能会有问题,具体我没有试用,如果是真有问题,可以这样试试:
var node = document.createElement('DIV');
node.innerHTML = num1;
cell1.appendChild(node);
3. 也许对ajax返回的内容,你调试的时候看不到,不知道返回了什么内容,在FF下有个小插件,叫FireBug, 很好用,可以查看某个div在html中的位置,某个div当前的样式,发送一个ajax返回的内容等,对web开发很有用的。
好了,多说了几句,一大早过来上班,心情好点,让你占了个便宜,Any way, Good Luck!
row1 = tb.insertRow();
cell1 = row1.insertCell();
cell1.innerText = num1;
这一句.cell1.innerText改成cell1.innerHTML, 两具方法的意思很显示,一个是指定单元格内的文本,一个是指定单元格内的HTML代码.
另给你一些js小常识:
1. innerText是IE下的方法,FF下不支持,所以为了兼容性,统一写成innerHTML.
2. 好像记得在td里直接使用innerHTML方法可能会有问题,具体我没有试用,如果是真有问题,可以这样试试:
var node = document.createElement('DIV');
node.innerHTML = num1;
cell1.appendChild(node);
3. 也许对ajax返回的内容,你调试的时候看不到,不知道返回了什么内容,在FF下有个小插件,叫FireBug, 很好用,可以查看某个div在html中的位置,某个div当前的样式,发送一个ajax返回的内容等,对web开发很有用的。
好了,多说了几句,一大早过来上班,心情好点,让你占了个便宜,Any way, Good Luck!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询