Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.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
将Servlet变量传递给Javascript_Javascript_Ajax_Jsp_Servlets - Fatal编程技术网

将Servlet变量传递给Javascript

将Servlet变量传递给Javascript,javascript,ajax,jsp,servlets,Javascript,Ajax,Jsp,Servlets,我有一个JSP页面,用于将一些数据提交给HTTPServelet。在servlet中成功完成任务后,我需要显示一个警报,因此我有一个JavaScript AJAX函数,它在JSP页面的onSubmit事件中执行。但是,当我单击submit按钮时,AJAX函数不会与它一起执行 下面是我的Javascript函数: function alerts(servlet) { var xhr = new XMLHttpRequest(); xhr.open("POST", servlet

我有一个JSP页面,用于将一些数据提交给
HTTPServelet
。在servlet中成功完成任务后,我需要显示一个警报,因此我有一个JavaScript AJAX函数,它在JSP页面的
onSubmit
事件中执行。但是,当我单击submit按钮时,AJAX函数不会与它一起执行

下面是我的Javascript函数:

function alerts(servlet) {

    var xhr = new XMLHttpRequest();

    xhr.open("POST", servlet, true);
    console.log("connected to "+servlet);
    xhr.send(null);
    xhr.onreadystatechange = function() { //this function does not execute
        if (xhr.readyState === 4) {

            if (xhr.status === 200) {

                content = xhr.responseText;
                var objects = JSON.parse(content);
                console.log(objects);

                var elemant = document.getElementById("tblObjects");
                var child = elemant.children;
                var childLength = child.length;
                if (0 < child.length) {
                    for (i = 0; i < childLength; i++) {
                        deleteElamant("tblObj");
                    }
                }

            }
        }
    };
}

var objects=JSON.parse(内容)
response.setContentType(“text/html;charset=UTF-8”)
不属于一起。
//此函数不执行
-您如何确定这一点?尝试使用jquery,代码将更小,更易于使用understand@Quentin我在Firefox调试控制台中设置了一些断点,并对其进行了逐行调试。它不会在ReadyStateChange上进入内部。我有一个类似的函数,用于对文本框输入进行后台搜索。它运行时没有任何问题。@Quentin我在servlet中将
jsonArray
作为
String
传递。所以,我使用response类型作为text/html是一个问题吗。?
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");

        try {
            //Do somethings inside Servlet

            response.getWriter().write("my alert messege to JavaScript");
            RequestDispatcher rd = request.getRequestDispatcher("/NextServlet");
            rd.forward(request, response);
        } catch (Exception ex) {
        } 
    }