加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

用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显示的信息是:

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读