每当我对我的Java webservlet进行AJAX POST时,似乎都没有发生任何事情。首先我从其他localhost端口发布了问题(我正在从http://localhost:3000
到http://localhost:8080
进行AJAX帖子),但是使用CORSFilter修复了这个问题。
然而,当我现在发帖时,一切似乎进展顺利,但POST本身没有任何反应。
这是功能:
module.exports = {
postPerson: function (person) {
$.ajax({
type: "POST",
url: 'http://localhost:8080/person',
dataType: 'text',
data: 'test',
success: function(data){
console.log('success ' + data);
},
error: function(jQXHR, textStatus, errorThrown) {
console.log("error");
},
failed: function(){
console.log('failed');
},
done: function() {
console.log('done');
}
})
}
};
和servlet:
package servlets;
import java.io.*;
import javax.servlet.annotation.WebServlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet(urlPatterns = "/person")
public class PersonServlet extends HttpServlet {
public void init() throws ServletException {}
@Override
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{}
@Override
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
System.out.println("testpost");
response.setContentType("text/html");
String student = request.getParameter("person");
}
}
在浏览器控制台中查看时,它会打印success
,并在XHR选项卡中告诉我POST是好的,返回200.但是,我希望'testpost'打印出来,然后我设置那时断点,但没有任何反应。
知道为什么会这样吗?
答案 0 :(得分:0)
success : function(data) {
if(data!=null){
alert(data);
}else{
alert('Not working!!');
}
}
检查数据。
答案 1 :(得分:0)
我建议在tomcat上刷新war文件。确保删除它并再次构建项目。在我看来它还没有更新,因为如果你得到一个200 POST,这意味着你正在使用那个doPost()方法。