ajax输出内容一闪而过

eightwhells 2011-10-30 08:49:14
做了一个简单的ajax触发,前台点击<a>(空连接)标签触发js时间,调用后台php功能页面,输出内容是整段的<table>代码,到前台的一个<div>中,但是实际做的时候,输出的内容总是一闪而过(看到了输出的东西,但是内容出现就立即消失了),在js中做了个断点,可以看到已经输出了相应的内容,但是前台<div>中总是无法保留,郁闷死了。
求高人指教!!!

JS代码:
var xmlhttp;
function xmlhttprequest(){
if(window.ActiveXObject)
{
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if(window.XMLHttpRequest)
{
xmlhttp = new XMLHttpRequest();
}
if(!xmlhttp)
{window.alert("信息传输失败"); return false;}
else
{return true;}
}
function sendshare(temp){
if(xmlhttprequest())
{
xmlhttp.onreadystatechange=status_check;
xmlhttp.open("POST","browse.php",false);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("share="+temp);
}
}
function status_check(){
if(4==xmlhttp.readyState)
{
if(200==xmlhttp.status || 0==xmlhttp.status)
{
var content=xmlhttp.responseText;
window.alert(content);
document.getElementById("_middle").innerHTML=content;
}
}
}
HTML代码片段是:
<div id="left">
<ul>
<li><a href="" onclick="sendshare(1)">我的文件</a></li>
后台的php页面代码太多,但是只有一个功能,就是输出相关的内容,
我的后台页面输出的是一段整段的<table>代码,用于嵌入到前端的<div>中。
...全文
425 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
黄袍披身 2011-10-30
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 eightwhells 的回复:]

水尽山穷的时候咋办?
[/Quote]

简单 用jquery.ajax

返回内容直接修改id 内容.
eightwhells 2011-10-30
  • 打赏
  • 举报
回复
水尽山穷的时候咋办?
life169 2011-10-30
  • 打赏
  • 举报
回复
自己要学会调试代码,
先把前台与后台的最简化,只留下ajax部分,browse.php只用一句 echo 'ok'; 看看能否正常输出,
然后逐渐加代码加功能。

方法就是这样,需要耐心调试。
zhaojunwww 2011-10-30
  • 打赏
  • 举报
回复
你还真执着 给你个完整的例子吧 赶快结贴吧3

test.html
===============================================================
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript">
var xmlHttp;
function createXMLHttpRequest()
{
if (window.ActiveXObject)
{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
//new一个ActiveXObject类.
}
else if (window.XMLHttpRequest)
{
xmlHttp = new XMLHttpRequest();
}
}
function startRequest()
{
createXMLHttpRequest();

try {
var url = "save.php";
//声明提交对象
var f = document.user_info;
  var usertext = f.com.value;
  var postStr = "user="+usertext;
xmlHttp.onreadystatechange = handleStateChange;
xmlHttp.open("POST", url, true);
xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xmlHttp.send(postStr);
}
catch (exception)
{
alert("您要访问的资源不存在!");
}
}

function handleStateChange()
{
if (xmlHttp.readyState == 4)
{
if (xmlHttp.status == 200 || xmlHttp.status == 0)
{

document.getElementById("msg").innerHTML = xmlHttp.responseText;

}


}

}
</script>
</head>
<body>
<form name="user_info" method="post" action="">
<textarea cols="50" rows="8" name="com" style=" border:#CCCCCC 1px solid;"></textarea>
<p>
<input type="button" value="提交表单" onclick="startRequest()">
</form>
<div id="msg"></div>
</body>
</html>

============================================================================
save.php


<?php
$text=$_POST['user'];
echo $text;
?>

============================================================================
eightwhells 2011-10-30
  • 打赏
  • 举报
回复
设置过了,
其实还有一个相似的功能,
差不多的代码,但是那个就能没问题显示,
这个却不能。
就想被刷新了似得
zhaojunwww 2011-10-30
  • 打赏
  • 举报
回复
div中设定id="_middle"了吗?
eightwhells 2011-10-30
  • 打赏
  • 举报
回复
补充下问题,
用firefox实验,发现东西在输出的时候,好像页面还是处于请求状态,
也就是说,内容输出的时候,浏览器地址栏显示的是正在请求的黯红色叉,
等到内容输出之后,暗红色叉消失,随之的内容也消失了,就像页面刷新了一样。
不知道为什么,
我仔细看了下,输出的内容就是一个完整的<table>........</table>
之外没什么东西,
求解??:
zhaojunwww 2011-10-30
  • 打赏
  • 举报
回复
1 xmlhttp 改成xmlHttp

2 xmlHttp.open("POST","browse.php",true);

3 xmlHttp.send(null);

4 document.getElementById("_middle").innerHTML=xmlHttp.responseText+document.getElementById("_middle").innerHTML;

eightwhells 2011-10-30
  • 打赏
  • 举报
回复
<div>中确实是空的,
今用Ie是代码的时候,提示我返回的<table>...</table>代码有问题,
代码错误会不会i导致页面的错误呢?
但是,后来改过来了,还是老样子,
但是不知道改完了没。
纠结,唉。
yangjingqzp 2011-10-30
  • 打赏
  • 举报
回复
怀疑你的网页又被刷新了,看下网页的源码是否div中得内容为空。
如果为空,肯定是现在的网页没有加载内容。
黄袍披身 2011-10-30
  • 打赏
  • 举报
回复
检查一下js 后面载入的代码有没有对_middle 有操作的.有可能后面还有操作这个div 的代码然后又将内容给覆盖进了。

我都几乎忘记原生的ajax如何操作了。不如换用jquery的ajax吧简单快捷.
niuchaokf524 2011-10-30
  • 打赏
  • 举报
回复
推荐JQUERY

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧