当前位置: 首页 > 知识库问答 >
问题:

为什么ajax方法调用错误函数?

魏冷勋
2023-03-14

我有jQuery脚本,它发送ajax请求到servlet。它的工作原理是,它将文本数据正确地发布到servlet,但是然后它调用错误函数,而不是成功函数(我检查过了,servlet发送回ajax而不是空字符串)。

为什么ajax方法调用错误函数

这是剧本的代码

    $(document).ready(function () {
        $("#login-button").click(function () {
            var userPassword = $("input#userPassword").val();
            var userLogin = $("input#userLogin").val();
            $.ajax({
                type: "POST",
                url: "http://localhost:8181/library/login",
                data: {login: userLogin, password: userPassword},
                dataType: "text",
                success: function (data) {
                    if (data == "1") {
                        document.location.href = "http://localhost:8181/library/workshop.html";
                    }
                    if (data == "2") {
                        document.location.href = "http://localhost:8181/library/library.html";
                    }
                },
                error: function (jqXHR, textStatus, errorThrown) {
                    alert("Error report\n" + "jqXHR = " + jqXHR + "\n" + "textStatus = " + textStatus + "\n" +
                            "errorThrown =  " + errorThrown);
                }
            });
        });
    });

下面是servlet的代码

    public class LoginServlet extends HttpServlet {

@Override
public void service(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {

    PrintWriter out = response.getWriter();
    String login = request.getParameter("login");
    String password = request.getParameter("password");
    SocketConnection.output.println("log_in " + login + " " + password);
    out.print(SocketConnection.input.readLine());
    out.close();
        }

    }

在错误报告中,textStatus值为error,errorThrown值为void。

共有1个答案

壤驷高旻
2023-03-14

如果返回状态200,则函数包含以下设置

dataType: "text",

它可能没有发送文本。只需尝试删除此设置,我希望它能正常工作

 类似资料:
  • 本文向大家介绍什么是错误优先的回调函数?相关面试题,主要包含被问及什么是错误优先的回调函数?时的应答技巧和注意事项,需要的朋友参考一下 错误优先的回调函数用于传递错误和数据。第一个参数始终应该是一个错误对象, 用于检查程序是否发生了错误。其余的参数用于传递数据。例如:   解析:这个题目的主要作用在于检查被面试者对于Node中异步操作的一些基本知识的掌握。    

  • 在Fruit构造函数中调用fryName方法,实际上是将调用委托给子Apple类的方法! } 这背后的主要尝试是,我试图调用父方法,而不使用简单的方式super。在子方法内调用fruitName()。 请帮帮我@第12行

  • 问题内容: 我有以下ajax请求: 由于某种原因,错误的回调被称为事件,尽管http状态代码为200,即。该请求是可以的。为什么是这样? 问题答案: 问题可能是从网址返回的json数据格式错误。当服务器实际返回内容时,http状态代码为200。但这并不意味着数据是正确的json。检查返回的字符串化json数据格式正确。 我要回答自己的邀请,因为我是很难学到的。我没有在json数据中转义“-”引号字

  • 问题内容: 我正在尝试制作我的第一个Android应用程序。我注意到,如果数据库不存在,则不会调用该方法来创建表。但是,即使我尝试调试,该方法也无法正常工作。 请查看下面的代码,并给我任何建议。任何帮助将不胜感激。 问题答案: 我也遇到了 SQLiteOpenHelper的 麻烦。对我有用的是存储成员变量 在SQLiteOpenHelper子类中并调用 在构造函数中。 该问题的答案还包括一些有用的

  • 前端小菜鸟一只,今天遇到了个大难题。业务需求是利用VueUse的useIntersectionObserver函数实现图片资源懒加载,但我比较困惑的地方是useIntersectionObserver函数的第二个参数是一个回调函数,为什么可以在这个回调函数里调用 stop() 来停止监听呢? 我困惑的地方在于:赋值语句从右到左进行,先得到等号右边的结果再赋值给左边,调用stop()的时候等号左边还

  • 为什么return语句在方法中使用数学函数时会引发错误。