Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 调用ajax到servlet始终调用error函数_Javascript_Java_Jquery_Ajax_Servlets - Fatal编程技术网

Javascript 调用ajax到servlet始终调用error函数

Javascript 调用ajax到servlet始终调用error函数,javascript,java,jquery,ajax,servlets,Javascript,Java,Jquery,Ajax,Servlets,我试图用ajax和servlet进行一些测试,但是当我启动应用程序时,servlet总是返回“error” package servlet; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.ser

我试图用ajax和servlet进行一些测试,但是当我启动应用程序时,servlet总是返回“error”

package servlet;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;


@WebServlet(name = "ServletCatalogue", urlPatterns = "/test")
public class ServletCatalogue extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        PrintWriter out = response.getWriter();
        out.write("test");
    }
}
$(函数(){
$(“#目录”)。在('click',function()上{
$.ajax({
url:“/test”,
键入:“获取”,
成功:好的,
错误:错误
});
});
});
函数ok(){
警惕(“罚款”)
};
函数错误(){
警报('错误')
}

为什么它总是打印“错误”?我知道JS正确地调用了servlet,因为我放了一个
system.out
来检查它。

我正在使用Javaservlet来接收调用。首先得到的是什么原因。我使用以下函数实现了这一点

function ajaxFailure(data, textStatus, errorThrown){
                alert("OH NO! data: "+data + ' textStatus: ' + textStatus + 'errorThrown: ' + errorThrown);
             }
我发现这个错误是由于抛出了错误:没有从文本到application/json的转换
然后我在$.ajax调用中将应用程序/json更改为文本。这解决了我的问题

我正在使用Javaservlet来接收调用。首先得到的是什么原因。我使用以下函数实现了这一点

function ajaxFailure(data, textStatus, errorThrown){
                alert("OH NO! data: "+data + ' textStatus: ' + textStatus + 'errorThrown: ' + errorThrown);
             }
我发现这个错误是由于抛出了错误:没有从文本到application/json的转换
然后我在$.ajax调用中将应用程序/json更改为文本。这解决了我的问题

它运行错误处理程序,因为请求不返回
2xx
HTTP响应代码。您需要诊断原因。在浏览器中打开
/test
并从页面粘贴错误尝试将状态参数添加到错误事件处理程序方法,并查看错误原因,可能是服务器不可访问。尝试通过
out.flush()提交响应。查看是否将响应返回到浏览器级别。@Sagar如果我转到\test,它将打印“test”,它将运行错误处理程序,因为请求不返回
2xx
HTTP响应代码。您需要诊断原因。在浏览器中打开
/test
并从页面粘贴错误尝试将状态参数添加到错误事件处理程序方法,并查看错误原因,可能是服务器不可访问。尝试通过
out.flush()提交响应。查看是否将响应返回到浏览器级别。@Sagar如果我转到\test,它将打印“test”