Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.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 jQueryAjax调用servlet时,XMLHttpRequest对象为空_Javascript_Jquery_Ajax_Servlets - Fatal编程技术网

Javascript jQueryAjax调用servlet时,XMLHttpRequest对象为空

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

我只是想从你那里得到一个简单的回答,但我已经把头撞在墙上好几个小时了,现在我想弄明白这一点

以下是我的doPost方法的内容:

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回购的链接。