用ajax返回验证的时候总是弹出error原因
发布时间:2020-12-15 21:55:29 所属栏目:百科 来源:网络整理
导读:发一个简单案例: 前台: %@ page language="java" import="java.util.*" pageEncoding="UTF-8"%!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"html head title用户登录/title script type="text/javascript" src="../js/jquery-easyui-1.3
发一个简单案例: 前台: <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>用户登录</title> <script type="text/javascript" src="../js/jquery-easyui-1.3.5/jquery.min.js"></script> <script type="text/javascript" src="../js/jquery-easyui-1.3.5/jquery.easyui.min.js"></script> <link rel="stylesheet" href="../js/jquery-easyui-1.3.5/themes/default/easyui.css" type="text/css"></link> <link rel="stylesheet" href="../js/jquery-easyui-1.3.5/themes/icon.css" type="text/css"></link> <script type="text/javascript" src="../js/jquery-easyui-1.3.5/locale/easyui-lang-zh_CN.js"></script> <meta http-equiv="content-type" content="text/html;charset=UTF-8" /> <script type = "text/javascript" charset = "UTF-8"> $(function(){ var loginDialog; loginDialog = $('#loginDialog').dialog({ closable : false,// 组件添加属性:让关闭按钮消失 //modal : true,//模式化窗口 buttons : [{ text:'注册',handler:function(){ } },{ text:'登录',handler:function(){ $.ajax({ url:'../servlet/Login_Do',data :{ name:$('#loginForm input[name=name]').val(),password:$('#loginForm input[name=password]').val() },dataType:'json',success:function(r){ //var dataObj=eval("("+data+")"); alert("进来了"); },error:function(){ alert("失败"); } }); //alert(data) } }] }); }); </script> </head> <body style=”width:100%;height:100%;" > <div id = "loginDialog" title = "用户登录" style = "width:250px;height:250px;" > <form id = "loginForm" method = "post"> <table> <tr> <th>用户名 :</th> <td><input type = "text" class = "easyui-validatebox" data-options="required:true" name = "name"><br></td> </tr> <tr> <th>密码: </th> <td> <input type = "password" class = "easyui-validatebox" data-options="required:true" name = "password"><br></td></td> </tr> </table> </form> </div> </body> </html> 后台: public class Login_Do extends HttpServlet { public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException { this.doPost(request,response); } public void doPost(HttpServletRequest request,IOException { request.setCharacterEncoding("UTF-8"); response.setCharacterEncoding("UTF-8"); String name =request.getParameter("name"); String password = request.getParameter("password"); String js = "{"name":name,"password":password}"; PrintWriter out = response.getWriter(); JSONObject json = new JSONObject(); json.put("name",name); out.print(json.toString()); response.getWriter().write(json.toString()); } } 点击登录时: 解决办法:弹出error信息一般有两种可能: 第一种:url错误,后台直接得不到值 可以用火狐的firebug查看:如果响应了信息,则不是这个问题,那么就有可能是第二种情况: 返回数据类型错误: 在我这个例子中,返回的数据无意中打印了两次,这两句删去一句就好了: out.print(json.toString()); response.getWriter().write(json.toString()); 造成了错误。这时在firebug显示的信息是: (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |