原文链接:http://www.cnblogs.com/Jimmy009/archive/2011/12/25/2300953.html
大概3个星期前就遇到了ajax的提交出错的问题,一开始是再虚拟机环境的运行的,一直抱404的错误,我想是不是我的url写错了,一直改url还是报错,那是就一直纳闷了,也就蛋疼了几天,想想自己以前有过成功的例子,于是重新吧文件替代掉,还是有问题,但是真的无语了。以前原来正确的现在一个个都报错。
后来干脆直接放到这里的主机(不在虚拟机理完了),放到iis目录下,然后清空了一下缓存,然后再iis浏览器中查看,第一次捕获到status==0
那是也没有太在意,因为很晚了,就睡了。知道第二天才想起,不在iis目录下,报404错误,在iis报status==0的错误,为什么会不一样呢。
现在在这里总结一下:
(一)你没有装网站所需的服务器,比如IIS或者Apache之类软件。因为status=0据说是本地成功响应的代码,这个我没有验证过,但是有人因此出现了问题。
(二)你的响应地址出现了问题,比如GET地址为valid.PHP而你错误的写为vaild.PHP,这个时候服务器返回的是404,某种可能性上你调试出来的status也会为0。
(三)这个也是我遇到的问题,我在写了一个form标签,然后用submit的onclick事件去处理ajax响应,其中form的action=”。这个时候每点击一次submit,系统提示一次我的ajax object找不到,或者其它不相干的错误。调试JavaScript也是出现status=0的问题。我用普通的button代替submit button问题就解决了。
(四)一般在自己机器上调试的时候localhost和127.0.0.1是相同的,都是代表本机的意思。但是一般装MysqL的时候默认配置是localhost,对于请求127.0.0.1的连接是拒绝的。这样在前台测试Ajax时,FF中的status=0,但是这个时候用isNaN验证却不是数字。IE中直接提示Access is denied。这样的话,问题也就不能称之为问题了。在调试的时候根据MysqL默认配置使用localhost,或者你自己的特殊设置。如果想解决Access is denied的错误,可以参照http://blog.csdn.net/xport/archive/2007/05/05/1596668.aspx解决方法。
失败是成功之母,只要我们不放弃,多想想几个为什么,问题可能就变得简单,而且可以解决了。最后感谢那些大神,是因为他们的无私奉献,才有我们站在巨人肩膀上得机会,才可以让我们少走很多的路。
最后希望如果你遇到了通过的问题,我这篇文章能给你启发,最后解决问题……
其实学习之中,成功是不需要学习的,失败才是我们需要的。用马云的话说学习别人成功的方法,你可能死得更快。有些乱侃了~
Stallman 先生认为最大的快乐是让自己发展的软件让大家来使用了!