我有一个servlet将用户添加到服务器端的文件中。
我用jqueries ajax调用它来调用它。
我可以在服务器上看到方法被正确调用并添加了我的用户,但错误回调正在jquery调用中调用。所有的状态文字都是错误的。
使用萤火虫的反应似乎是空的。为什么我无法获得成功的jQuery回调?jquery ajax调用在成功调用servlet时返回错误
//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";
}
。
//javascript code
function addUser() {
var name = $('#name').val();
var imageUrl = $('#imageUrl').val();
var url = "http://ws06525:8080/QCHounds/QCHoundServlet?action=addUser&name=${name}&imageUrl=${imageUrl}";
url = url.replace("${name}", name);
url = url.replace("${imageUrl}", imageUrl);
$('#result').html(url);
$.ajax({
url: url,
success: function(data) {
$('#result').html(data);
},
error: function(jqXHR, textStatus, errorThrown)
{
alert("error: " + textStatus);
alert("error: " + errorThrown);
}
});
}
是怎样的respons如果FireBug显示响应为空,那么成功了吗? – BNL
我的意思是服务器端功能成功执行并添加我的用户,但响应确实是空的,我不明白为什么? – n4rzul