关于ajax中readyState的值一直为1的问题
2017-11-10 00:02
351 查看
具体代码就不贴了,
request.open("POST","http://localhost:8080/StudentManage/MyServlet",true);
一开始使用异步请求连接servlet,但是发现servlet的确接收到数据了,但是客户端ajax的readystate一直是1,而且跳了2次1之后就没消息了
伴随另一个表现就是偶尔几次发现也能正确运行
百度很多种:可能是没有设置ajax的跨域问题; 各种其它的拼写问题就不说了,但是按照百度上的要求加了Filter之后是没有解决本质问题
于是上了stackoverfloor查了下,,发现是异步请求问题
由于这是一个登录注册的例子,客户端需要把数据传到服务端后服务端经过验证再把结果传给客户端,可是使用异步的话就会使得客户端不会刻意等待服务端的响应
换句话说,就是像打仗一样,将军派通信兵去搬救兵,但是如果通信兵跑太慢,剩余兵力又太少,还没等救兵来,将军就已经没了,敌人也跑了。
同样的,大多数情况下,还没等服务端把数据传过来,客户端已经GG了,也因此而出现了会有偶尔几次成功运行,
修改方式:把异步改为同步,即true改为false
这里也进一步说明,ajax的同步调用或者异步调用都是有其各自的适用场景的
request.open("POST","http://localhost:8080/StudentManage/MyServlet",true);
一开始使用异步请求连接servlet,但是发现servlet的确接收到数据了,但是客户端ajax的readystate一直是1,而且跳了2次1之后就没消息了
伴随另一个表现就是偶尔几次发现也能正确运行
百度很多种:可能是没有设置ajax的跨域问题; 各种其它的拼写问题就不说了,但是按照百度上的要求加了Filter之后是没有解决本质问题
于是上了stackoverfloor查了下,,发现是异步请求问题
由于这是一个登录注册的例子,客户端需要把数据传到服务端后服务端经过验证再把结果传给客户端,可是使用异步的话就会使得客户端不会刻意等待服务端的响应
换句话说,就是像打仗一样,将军派通信兵去搬救兵,但是如果通信兵跑太慢,剩余兵力又太少,还没等救兵来,将军就已经没了,敌人也跑了。
同样的,大多数情况下,还没等服务端把数据传过来,客户端已经GG了,也因此而出现了会有偶尔几次成功运行,
修改方式:把异步改为同步,即true改为false
这里也进一步说明,ajax的同步调用或者异步调用都是有其各自的适用场景的
相关文章推荐
- 关于HTML发送AJAX请求一直重复刷新页面问题
- 【笔记】关于jq $.ajax 函数 success回调函数不能赋正确值或返回正确值的问题
- 关于Ajax请求中传输中文乱码问题的解决方案
- 关于asp.net中ajax的问题:AjaxControlToolkit 未定义的解决方法
- 一个菜鸟处理关于ajax向后台传值的问题
- 关于ajax 上传图片 enctype="multipart/form-data"的问题
- 关于通过Ajax解决PHP与JS数据交互问题
- 关于Ajax是运行在服务器端还是客户端的问题
- 关于使用AJAX获取数据时,由于IE缓存而导致数据不更新,串数据的问题!
- 关于使用Ext.Ajax.request()异步提交中form参数的问题
- 今天你AJAX了没有?——关于AJAX应用所解决的一些常见问题
- 关于js的ajax方法导致跨域问题的解决办法
- 关于ajax传送数组对象后台接收的问题
- 一直没搞定crossdev生成的环境下关于库依赖的问题
- Jquery关于ajax中无法在success中获取返回值的问题
- 关于解决webstorm下的npm一直显示更新索引,引起卡顿问题
- 关于电脑开机网络图标一直转圈的问题
- Ubuntu16.0下关于安装opencv3.x时一直downloading protobuf-cpp-3.1的问题
- 关于JQuery中的ajax请求或者post请求的回调方法中的操作执行或者变量修改没反映的问题