Ajax调用servlet无反应?理理思路,找找错误.

本文仅使用 js
放松,来一步步看看为什么Ajax调用servlet,网页上没有反应.

1.Servlet本身有没有错误?

在地址栏上单独输入servlet路径传参,观察网页上是否有返回值,或者说,是否有正确的返回值。
正确无误?下一步.

有错误?则Servlet本身就存在问题,检查:
1) 数据库连接操作是否有错误
2) java方法是不是错误,如参数类型等,一些细枝末节没注意
3) Java方法的调用,是不是调用时名称输入错误
4) 等等…
servlet一定要能正确执行,不然会影响后面的问题的分析.


2.看看你的 readyState 与 status

if(xmlHttp.readyState == 4) {
    if(xmlHttp.status == 200) {
        ...
    }
}

这两个不用我多说了吧,使用innerHTML来看看它们的数值:

document.getElementById("check").innerHTML = xmlHttp.readyState;
document.getElementById("check").innerHTML = xmlHttp.status;

readyState !=4 ? 或者 status !=200 ? 没事,只要是有数字,那就有对应的错误,可以自行去搜索解决方法。
本人的readyState没问题,但是status404(NOT FOUND),同样情况的可以看下一步.


3.可能是映射(mapping)的问题

无论是IDE不自动生成的话,还是你后期改过servlet名称,
mapping都是需要注意的地方,去web.xml看看吧,很多都是因为没注意这个.


4. 退而求其次

到了这一步还没有解决问题? 我只能说,我也是…
但是我有个临时应付的方法,毕竟不可能因为这个一直逗留不前,接下来还有很多事呢…

没办法,使用绝对路径吧,如:

xmlHttp.open("POST", "/Platform/CheckServlet?id="+id);

这方法肯定不是一个好方法,但是我的servlet与web.xml也没发现问题,



ps.本文旨在和我遇到一样问题的朋友,又急着弄接下来的事情,所想出的临时方案
要是有方法解决此问题的老师朋友,希望也可以留言或者私信给我,在这里先谢谢了…

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值