2 be proud Be_Proud 于 2016.02.02 21:38 提问

关于 jquery实现Ajax 但是没有效果
 servlet:
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        System.out.println(1);

        List<String> userNames = Arrays.asList("AAA","BBB","CCC");
        String userName = request.getParameter("userName");
        String result = null;

        if(userNames.contains(userName)){
            System.out.println(2);
            result = "<font color='red'>该用户名已被使用</font>";
        }else {
            result = "<font color='green'>该用户名可以使用</font>";
        }
        System.out.println(3);
        response.setContentType("text/html;charset=UTF-8");
        response.setCharacterEncoding("UTF-8");
        response.getWriter().print(result);

    }







index.jsp
<script type="text/javascript" src="${pageContext.request.contextPath}/scripts/jquery-1.11.3.js/"></script>
 <script type="text/javascript">

    $(function(){
        $(":input[name='username']").change(function(){

            var val = $(this).val();
            val = $.trim(val);
            if(val!=""){
                var url = "${pageContext.request.contextPath}/login";
                var args = {"userName":val,"time":new Date()};
                $.post(url,args,function(data){
                    $("#message").html(data);
                });
            }
        });
    });
 </script>
</head>
<body>
    <form action=""  method="post">
        UserName:<input type="text" name="username" />
        <br/>
        <div id="message"></div>
        <br/>
        <input type="submit" value="Submit" />
    </form>
</body>
</html>

xml:


    <servlet>
        <description>
        </description>
        <display-name>UserNameServlet</display-name>
        <servlet-name>UserNameServlet</servlet-name>
        <servlet-class>com.servlets.UserNameServlet</servlet-class>
    </servlet>
        <servlet-mapping>
        <servlet-name>UserNameServlet</servlet-name>
        <url-pattern>/login</url-pattern>
    </servlet-mapping>

3个回答

showbo
showbo   Ds   Rxr 2016.02.03 09:16
已采纳

怎么多了个/在最后?手误还是什么?如果有/在后面是目录了,应该是这个问题导致jquery加载不进去,最好用$.ajax配置error看是否执行到error,$.post只有200状态才会执行success,只能用浏览器开发工具看ajax返回结果

 <script type="text/javascript" src="${pageContext.request.contextPath}/scripts/jquery-1.11.3.js/"></script>
Be_Proud
Be_Proud 太感谢了 确实是这个问题
接近 2 年之前 回复
Be_Proud
Be_Proud   2016.02.02 21:39




UserNameServlet
UserNameServlet
com.servlets.UserNameServlet


UserNameServlet
/login

这是xml

rui888
rui888   Ds   Rxr 2016.02.03 08:57

首先你的 方法进入的到你的后台 UserNameServlet 里面没有。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!