philip187326 2021-07-08 15:17 采纳率: 63.6%
浏览 76
已采纳

各位前辈们好,我用ajax为什么总是出现HTTP 500错误

这是前端的代码,就是一个原生ajax,然后把它绑定到一个按钮上

userExistErrorSpan = document.getElementById("userExistError");
            function doUserExist(){
                //使用ajax判断用户是否已存在
                var xmlHttp = new XMLHttpRequest();
                xmlHttp.onreadystatechange = function(){
                    if(xmlHttp.readyState == 4 && xmlHttp.status == 200){
                        userExistErrorSpan.innerHTML = xmlHttp.responseText;
                    }
                }
                var param = "phoneNumber=" + document.getElementById("phoneNumber").value;
                xmlHttp.open("get", "ifUserExist?" + param, true);
                xmlHttp.setRequestHeader("Content-type", "text/plain;charset=utf-8");
                xmlHttp.send();
            }

这是控制层的方法:

@RequestMapping(value = "ifUserExist", method= RequestMethod.GET)
    public void ifUserExist(HttpServletResponse response, String phoneNumber) throws IOException {
        if(phoneNumber != null){
            System.out.println("接受了Ajax请求");
            if(phoneNumber.length() == 11){
                PrintWriter out = response.getWriter();
                Long phoneNumberConvert = Long.valueOf(phoneNumber);
                response.setContentType("text/html;charset=utf-8");
                int num = service.userExist(phoneNumberConvert);
                    if(num > 0){
                    out.print("该用户已存在!请直接<a href = 'loginPage.jsp'>登录</a>");
                    out.flush();
                    out.close();
                }
            }
        }
    }

但是这个请求是失败的,会出现HTTP500错误。然后后端也会有一些错误语句。
后端控制台的错误:
接受了Ajax请求
Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@55d02880] was not registered for synchronization because synchronization is not active
JDBC Connection [com.mysql.jdbc.JDBC4Connection@48b6bc9c] will not be managed by Spring
==> Preparing: select count(*) from siteUsersInfo where phoneNumber = ?
==> Parameters: 13490645764(Long)
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@55d02880]
前端的错误:

img

  • 写回答

4条回答 默认 最新

  • 404警告 2021-07-08 19:25
    关注

    打断点尝试或者查看后端哪里报错 报什么错

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 已采纳回答 7月9日

悬赏问题

  • ¥15 做个有关计算的小程序
  • ¥15 MPI读取tif文件无法正常给各进程分配路径
  • ¥15 如何用MATLAB实现以下三个公式(有相互嵌套)
  • ¥30 关于#算法#的问题:运用EViews第九版本进行一系列计量经济学的时间数列数据回归分析预测问题 求各位帮我解答一下
  • ¥15 setInterval 页面闪烁,怎么解决
  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
  • ¥15 如何用Python爬取各高校教师公开的教育和工作经历
  • ¥15 TLE9879QXA40 电机驱动
  • ¥20 对于工程问题的非线性数学模型进行线性化