Javascript jQueryAjax调用servlet时,XMLHttpRequest对象为空
我只是想从你那里得到一个简单的回答,但我已经把头撞在墙上好几个小时了,现在我想弄明白这一点 以下是我的doPost方法的内容:Javascript jQueryAjax调用servlet时,XMLHttpRequest对象为空,javascript,jquery,ajax,servlets,Javascript,Jquery,Ajax,Servlets,我只是想从你那里得到一个简单的回答,但我已经把头撞在墙上好几个小时了,现在我想弄明白这一点 以下是我的doPost方法的内容: protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { processRequest(request, response); String m
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
String message = "You reached the servlet and successfully got stuff back!";
request.setAttribute("message", message);
PrintWriter writer = response.getWriter();
writer.println("Hello World");
}
我使用了响应对象中的setAttribute和writer。我尝试了来自不同堆栈溢出帖子的多种变体,试图解决这个问题,但我没有任何运气。我想我一定是做错了什么,但我完全不知道我会做错什么
以下是我的AJAX调用:
window.onload=function(){
var classHighlight = 'highlight';
var $thumbs = $('.entry').click(function(e) {
var strDate = $(this).text();
var client;
var data;
var url_action="GetData";
if(window.XMLHttpRequest)
{
client=new XMLHttpRequest();
}
else
{
alert("ASDF");
}
client.onreadystatechange=function()
{
if (client.readyState==4 && client.status==200)
{
var data = client.responseType;
console.log(client);
alert(data);
}
};
client.open("POST",url_action,true);
client.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
client.send(strDate);
});
}
当我运行我的站点,并触发调用AJAX事件的事件时,我认为它正在工作,但我不确定该如何判断。onreadystate函数触发并执行它的操作,但之后的响应(以任何形式)为空
如果有人有什么建议,我会非常感激。我完全迷失在这一点上,没有太多的经验(甚至没有在这个该死的网站以外的地方寻求帮助)
这里有一个指向我的github的链接,其中包含该站点的源代码:你确定你的URL是正确的吗? 我还建议使用ChromeDevTools调试XHR 您需要做的第一件事是通过右键单击控制台窗口来启用XHR日志记录。 之后,您应该导航到“网络”选项卡,在该选项卡中可以查看所有请求、发送的数据和收到的答复 有关此主题的更多阅读:
是的,很抱歉。我试着把我在那里试过的东西拼凑成一个简洁的版本。如果你有jQuery
$.ajax
,为什么要使用原生的XMLHttpRequest
?因为我对jQuery是一个无知的新手,我试图通过自己的努力和时间来学习这个,但却找不到学习这个巫术的可靠资源。尝试刷新响应writer.flush()代码>来自servlet。尝试刷新它时运气不佳。我仔细检查了URL,是的,它是正确的。此外,我似乎无法按照您的指导完成第一步,因为根据您向我解释的内容,我的Chrome浏览器中甚至没有“记录XMLHttpRequests”的选项。我可以在“网络”选项卡下看到我的XHR内容,但是对于响应,它是完全空白的,响应标题说数据是空白的。我在最初的问题中为这个项目添加了一个git回购的链接。