为什么就绪状态不会变为4?

时间:2016-01-08 12:56:45

标签: java ajax jsp servlets

我做了一个简单的表单,点击提交后转到AJAX,处理后将其发送到servlet。我不打印servlet的响应,只显示警报,但它不起作用。请,任何解决方案。 JSP:

<script type="text/javascript">

            var x = new XMLHttpRequest();
            function fn1()
            {
                x.onreadystatechange = fn2();

                x.open("GET","servlet1",true);
                x.send();

            }

            function fn2()
            {
                alert("happy");
                if(x.readyState==4)
                {
                    alert("happyness");
                }
            }


        </script>

Servlet:

public void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {

    response.setContentType("text/html");
    PrintWriter out = response.getWriter();

    out.print("hello");
}

Web的XML:

<servlet>
<description>This is the description of my J2EE component</description>
<display-name>This is the display name of my J2EE component</display-name>
<servlet-name>servlet1</servlet-name>
<servlet-class>ajaxeg2.servlet1</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>servlet1</servlet-name>
<url-pattern>/servlet1</url-pattern>
</servlet-mapping>

1 个答案:

答案 0 :(得分:0)

尝试这个                 `

divs = Nokogiri::HTML(page.root.to_html).
  xpath_regex("//div[@class~=/axtarget$/]//div[@class~=/^carbo/]")

你有一次调用fn1()进行ajax调用而out.print将不起作用,因为它是一个ajax请求所以页面没有重新加载。

`