Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/455.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
Java jQueryAjax调用在成功调用servlet时返回错误_Java_Javascript_Jquery_Servlets - Fatal编程技术网

Java jQueryAjax调用在成功调用servlet时返回错误

Java jQueryAjax调用在成功调用servlet时返回错误,java,javascript,jquery,servlets,Java,Javascript,Jquery,Servlets,我有一个servlet,可以将用户添加到服务器端的文件中。 我通过jQuery ajax调用调用它。 我可以在服务器上看到方法被正确调用,并且添加了我的用户,但是错误回调在jquery调用中被调用。所有状态文本显示的都是错误。 使用firebug时,响应似乎是空的。为什么我不能获得成功的jquery回调 //Servlet Code protected void doGet(HttpServletRequest request, HttpServletResponse response) thr

我有一个servlet,可以将用户添加到服务器端的文件中。
我通过jQuery ajax调用调用它。
我可以在服务器上看到方法被正确调用,并且添加了我的用户,但是错误回调在jquery调用中被调用。所有状态文本显示的都是错误。
使用firebug时,响应似乎是空的。为什么我不能获得成功的jquery回调

//Servlet Code
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    String action = request.getParameter("action");
    String responseStr = "";
    if(action.equals("addUser")) 
    {  
      responseStr = addUser(request);       
    }
    System.out.println("Reponse:" + responseStr);  
    response.setContentType("application/json"); 
    response.setCharacterEncoding("utf-8"); 
    response.getWriter().println(responseStr);
}

private String addUser(HttpServletRequest request) throws IOException
{
    Storage s;

    s = Storage.load();
    String name = request.getParameter("name");
    String imageUrl = request.getParameter("imageUrl");
    User u = new User();
    u.setName(name);
    u.setImageUrl(imageUrl);
    s.addUser(u);
    s.save();
    return "success";
}


首先,字符串
“success”
不是有效的json。如果ajax查询需要json,则会失败

如果返回
“{\“success\”:true}”
,该怎么办

编辑

从ajax调用来看,响应不应该是json,为什么返回的内容类型是json


如果firebug没有显示响应是真的,那么您的问题一定是在编写响应的java代码中。

使用这个来了解问题所在,我认为获得解决方案会更好

error: function(e){
    alert(JSON.stringify(e))
}

啊!我觉得自己像个白痴。这是一个跨站点脚本问题。 我正在测试从磁盘上的html文件对服务器的调用,因此我的浏览器地址是


file://projects/myproject/content/Users.html 如果FireBug显示响应为空,响应如何成功?我的意思是服务器端功能成功执行并添加了我的用户,但响应确实为空,我不明白为什么?仍然会出现错误。这里是:{“readyState”:0,“responseText”:“,“status”:0,“statusText”:“error”}我想这是关于ajax调用的contentType或dataType。你能分享你的ajax调用代码吗?你是说实际的ajax调用吗?问题是向上的,只需在代码中向下滚动一点。这个答案并没有帮助我解决问题,但却是非常好的建议。我不知道你能做到+我试过了。没什么区别
error: function(e){
    alert(JSON.stringify(e))
}