我有jquery脚本,它将ajax请求发送到servlet。它工作正常,它正确地将文本数据发布到servlet,但随后调用error函数,而不是success函数(我检查过,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值为无效。
发布于 2018-02-06 05:37:01
如果它正在返回状态200,则函数包含以下设置
dataType: "text",可能不是发短信。只要尝试移除这个设置,我希望它能正常工作。
https://stackoverflow.com/questions/36430376
复制相似问题