xmlHttp.readyState 为什么不出来 4 ????

jin75hong 2008-10-07 08:13:53
相关JS代码:
<script type="text/javascript">
var xmlHttp; //用于保存XMLHttpRequest对象的全局变量

//用于创建XMLHttpRequest对象
function createXmlHttp()
{
//根据window.XMLHttpRequest对象是否存在使用不同的创建方式
if (window.XMLHttpRequest)
{
xmlHttp = new XMLHttpRequest(); //FireFox、Opera等浏览器支持的创建方式
}
else
{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");//IE浏览器支持的创建方式
}
}
function vote()
{
try
{
createXmlHttp(); //创建XmlHttpRequest对象
xmlHttp.onreadystatechange = showRating; //设置回调函数
xmlHttp.open("POST", "wqx.html", true);
xmlHttp.send(null);
}
catch(e)
{
alert("2");
}
}

function showRating() {
if (xmlHttp.readyState == 4)
{

document.getElementById("form1").innerHTML =xmlHttp.responseText;
}
else
{
alert(xmlHttp.readyState);
}
}
</script>


测试了下,只弹出 1,2,3 可就是没有 4
为什么?
...全文
997 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
_Wayne_ 2012-09-20
  • 打赏
  • 举报
回复
在服务器端,处理这个请求完之后要把连接断开,或者请求处理完毕相关函数。不然会一直处于readStatus = 3交互中的状态。
hlsblog 2010-01-08
  • 打赏
  • 举报
回复
好像还不可以……
Go 旅城通票 2008-10-07
  • 打赏
  • 举报
回复
缓存问题,加时间戳

xmlHttp.open("POST", "wqx.html?ts="+new Date().toString(), true);
dln1234 2008-10-07
  • 打赏
  • 举报
回复
xmlHttp.onreadystatechange = showRating; //设置回调函数
xmlHttp.open("POST", "wqx.html", true);
xmlHttp.send(null);
程序先回调函数showRating 才执行异步访问。所以不会出现4
应该
xmlHttp.open("POST", "wqx.html", true);
xmlHttp.send(null);
xmlHttp.onreadystatechange = showRating; //设置回调函数
行间 2008-10-07
  • 打赏
  • 举报
回复
xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;");

post 要说明
yeah920 2008-10-07
  • 打赏
  • 举报
回复
xmlHttp.onreadystatechange = showRating; //设置回调函数
xmlHttp.open("POST", "wqx.html", true);
xmlHttp.send(null);

我是这样的:

xmlHttp.open("POST", "wqx.html", true);
xmlHttp.send(null);
xmlHttp.onreadystatechange = showRating; //设置回调函数

52,797

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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