首页编程onreadystatechange(初学ajax,onreadystatechange没反应)

onreadystatechange(初学ajax,onreadystatechange没反应)

编程之家 2023-11-02 83次浏览

大家好,今天给各位分享onreadystatechange的一些知识,其中也会对初学ajax,onreadystatechange没反应进行解释,文章篇幅可能偏长,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在就马上开始吧!

onreadystatechange(初学ajax,onreadystatechange没反应)

初学ajax,onreadystatechange没反应

先看下xmlHttp.readyState这个状态码:

0:请求未初始化(还没有调用open())。

1:请求已经建立,但是还没有发送(还没有调用send())。

2:请求已发送,正在处理中(通常现在可以从响应中获取内容头)。

3:请求在处理中;通常响应中已有部分数据可用了,但是服务器还没有完成响应的生成。

4:响应已完成;您可以获取并使用服务器的响应了。

processor表示的回调函数,是当xmlHttp.readyState为4的时候,成功返回内容后才进入操作的,你的xmlHttp.readyState为0,当然不行啊。

onreadystatechange(初学ajax,onreadystatechange没反应)

希望对你有帮助,分析给你之前我学习的一篇文章,希望对你有帮助:

http://www.cnblogs.com/snowinmay/p/3195072.html

ie中为啥不能获取document.prototype.onreadystatechange

如果第二次通过XMLHttpRequest去请求一个URL,则不会触发onreadystatechange时间。

虽然从调试插件来看,ie是进行了这次请求,后来发现,这个是因为在ie下,如果请求的URL已经被浏览器cache,则调用send方法以后,xhr的readyState已经成为了4,即一开始就是请求完成的状态,当然以后readystate不会再被赋值,也不会触发onreadystatechange事件。

求教ajax 进不了onreadystatechange 状态一直是1

今天抽空弄了一下关于Ajax的问题,遇到了你说的这个情况,查询了一下相关解决方案,得到的解答是:在调用函数的时候不能带任何参数,使用()都不行!

具体解决方法是,将你的代码中下面的这一段

onreadystatechange(初学ajax,onreadystatechange没反应)

xmlhttp.onreadystatechange=function(){

if(xmlhttp.readyState==4&& xmlhttp.status==200){

msg=xmlhttp.responseText;

}

}

拆分开,也就是=后面的写成一个单独的function。比如:

function connect(){

if(xmlhttp.readyState==4&& xmlhttp.status==200){

msg=xmlhttp.responseText;

}

}

然后将原先的代码调用修改为xmlhttp.onreadystatechange=connect;

这个地方千万不能写成xmlhttp.onreadystatechange=connect();

也就是connect后面千万别加(),之后readyState的状态就会发生改变了。

这个现象弄的我哭笑不得,但最后的确通过这个方法解决了,祝你好运!

怎么获得onreadystatechange调用的函数的返回值

function yanzheng(){

xmlHttp.onreadystatechange= function()

{

return false;

}

return ture;

}

这里的return false,是内部function()的返回值,而不是function yanzheng的返回值,第二个,return true才是外层flase的返回值哈:)

--------------------------------

这里最好不要用onSubmit="return yanzheng()"

也不要用input type="submit"

因为ajax会有个延时和等待,但是函数会立即返回一个值(true/false),因此不适合用在这里作为判断,流程应该是,先判断是否符合,符合再提交,不符合,直接return:)

可以用

<input type="button" onclick="yanzheng(this.form)" value="submit"/>

如果验证通过,在函数里面执行 form.submit()动作就好了:)

非常感谢您的阅读!我们希望本文对于解决您关于onreadystatechange的问题提供了一些有价值的信息。如果您还有其他疑问,我们将很乐意为您提供进一步的帮助。

unix_timestamp(英语timestamp怎么翻译) 软件软件开发 什么是软件开发