Ajax XMLHttpRequest是否调用servlet doFilter

时间:2014-01-23 15:11:19

标签: java javascript jquery ajax servlets

我正在尝试从jsp页面调用ajax,如下所示,

 <head>
    <script>
        function loadXMLDoc() {
            var xmlhttp;
            if (window.XMLHttpRequest) {
                // code for IE7+, Firefox, Chrome, Opera, Safari
                xmlhttp = new XMLHttpRequest();
            } else {
                // code for IE6, IE5
                xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
            }
            xmlhttp.open("GET", "ajax_info.txt", true);
            xmlhttp.send();
            document.getElementById("myDiv").innerHTML = xmlhttp.responseText;
        }
    </script>
    </head>
    <body>

        <button type="button" onclick="loadXMLDoc()">Change Content</button>

    </body>

这是第一次调用servlet过滤器但是在ajax调用期间我看不到调用的doFilter。

过滤器的url-mapping被映射为服务器的所有传入请求*。

为什么在这里没有为Ajax调用调用Servlet过滤器?

1 个答案:

答案 0 :(得分:1)

 <head>
    <script>
        function loadXMLDoc() {
            var xmlhttp;
            if (window.XMLHttpRequest) {
                // code for IE7+, Firefox, Chrome, Opera, Safari
                xmlhttp = new XMLHttpRequest();
            } else {
                // code for IE6, IE5
                xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
            }

            xmlhttp.onreadystatechange=function() {
                if (xmlhttp.readyState === 4 && xmlhttp.status === 200) {
                    document.getElementById("myDiv").innerHTML = xmlhttp.responseText;
                }
            xmlhttp.open("GET", "ajax_info.txt", true);
            xmlhttp.send();

        }
    </script>
    </head>
    <body>

        <button type="button" onclick="loadXMLDoc()">Change Content</button>

    </body>

使用onreadystatechange功能。