ajax接收到的数据是一个页面的代码的原因

最近在做一个小项目,里面有用到ajax做用户名异步验证数据库,当申请的用户名已经存在时,变会出现提示(效果图如下)。
用户已存在

用户不存在

在写程序过程中,ajax在收到service层传过来的数据可能会出现异常,是一个网页的代码,(打印出alert触发接收到的数据)如下图
这里写图片描述



产生上面的bug的原因可能是:

1.ajax的请求地址有误,导致接受到数据是一个网页代码流,可以单独给地址栏一个路径去请求service,不要用ajax去请求
我的请求地址(下面有图)是”Controller?m=isExistsName&name=”+nameTxt.value
这里写图片描述
这时直接在浏览器的地址栏写入路径去请求,这里的路径一定根据你的情景来写,链接中是否要传值,一定要弄清楚,不然会有异常
这里写图片描述
如果单独测试正常,说明你的ajax的请求路径是正确的,这个情况可以排除



2.service层的流没有关闭,导致ajax接受异常

**在service处理完ajax数据验证时,需要调用response的getWriter方法来把结果数据发给ajax,这时一个输出流,当数据发送结束,要把这个流关闭**

这里写图片描述

原文地址:https://www.cnblogs.com/wangqilong/p/8279784.html