解决ajax的status=0问题:submit和button冲突

原文链接: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 先生认为最大的快乐是让自己发展的软件让大家来使用了!


请按照我的意愿优化下面的代码,要求能自动适应手机等界面,全局字体为楷体<!DOCTYPE html> <html> <head> <meta lang="zn"> <meta charset="utf-8"> <title>文件实验室账号登录</title> <script src="https://code.jquery.com/jquery-3.5.1.min.js"></script> </head> <body> <form id="login-form" action="#"> <label for="email"></label> <input type="email" id="email" name="email" placeholder="在此输入邮箱账号"> <button type="button" id="get-code-btn">获取验证码</button> <br><br> <label for="code"></label> <input type="text" id="code" name="code" placeholder="在此输入收到的验证码"> <button type="submit">登录</button> </form> <script> $(function() { $('#get-code-btn').click(function() { var email = $('#email').val(); $.ajax({ url: '/admin/', method: 'POST', data: {email: email}, success: function(data) { if (data.status == 'success') { // 获取验证码成功,开始倒计时 var count = 60; var timer = setInterval(function() { if (count == 0) { clearInterval(timer); $('#get-code-btn').prop('disabled', false).text('获取验证码'); } else { $('#get-code-btn').prop('disabled', true).text(count + '秒后重试'); count--; } }, 1000); } else { alert('获取验证码失败,请重试!'); } }, error: function() { alert('获取验证码失败,请重试!'); } }); }); $('#login-form').submit(function() { var email = $('#email').val(); var code = $('#code').val(); $.ajax({ url: '/response/', method: 'POST', data: {email: email, code: code}, success: function(data) { if (data.status == 'success') { // 验证码校验成功,跳转到目标页面 window.location.href = 'http://spacexs.cn'; } else { alert('验证码错误,请重新输入!'); } }, error: function() { alert('验证码错误,请重试!'); } }); return false; }); }); </script> </body> </html>
05-24
我需要你就帮我优化下面的代码,优化两个按钮的样式<!DOCTYPE html> <html> <head> <meta lang="zn"> <meta charset="utf-8"> <title>文件实验室账号登录</title> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <style> body { font-family: 楷体; font-size: 1.2rem; padding: 1rem; } form { display: flex; flex-direction: column; align-items: center; width: 100%; max-width: 400px; margin: auto; } label { margin-bottom: 0.5rem; } input[type='email'], input[type='text'] { padding: 0.5rem; margin-bottom: 1rem; border: none; border-bottom: 2px solid #ddd; width: 100%; box-sizing: border-box; font-size: 1.2rem; } button { padding: 0.5rem; border: none; background-color: #007bff; color: #fff; font-size: 1.2rem; cursor: pointer; } button:hover { background-color: #0069d9; } button:disabled { background-color: #ddd; color: #333; cursor: not-allowed; } </style> <script src="https://code.jquery.com/jquery-3.5.1.min.js"></script> </head> <body> <form id="login-form" action="#"> <label for="email">邮箱账号:</label> <input type="email" id="email" name="email" placeholder="在此输入邮箱账号"> <button type="button" id="get-code-btn">获取验证码</button> <label for="code">验证码:</label> <input type="text" id="code" name="code" placeholder="在此输入收到的验证码"> <button type="submit">登录</button> </form> <script> $(function() { $('#get-code-btn').click(function() { var email = $('#email').val(); $.ajax({ url: '/admin/', method: 'POST', data: {email: email}, success: function(data) { if (data.status == 'success') { // 获取验证码成功,开始倒计时 var count = 60; var timer = setInterval(function() { if (count == 0) { clearInterval(timer); $('#get-code-btn').prop('disabled', false).text('获取验证码'); } else { $('#get-code-btn').prop('disabled', true).text(count + '秒后重试'); count--; } }, 1000); } else { alert('获取验证码失败,请重试!'); } }, error: function() { alert('获取验证码失败,请重试!'); } }); }); $('#login-form').submit(function() { var email = $('#email').val(); var code = $('#code').val(); $.ajax({ url: '/response/', method: 'POST', data: {email: email, code: code}, success: function(data) { if (data.status == 'success') { // 验证码校验成功,跳转到目标页面 window.location.href = 'http://spacexs.cn'; } else { alert('验证码错误,请重新输入!'); } }, error: function() { alert('验证码错误,请重试!'); } }); return false; }); }); </script> </body> </html>
最新发布
05-24
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

菠萝科技

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值