解决ajax返回验证的时候总是弹出error错误的方法
程序员文章站
2022-07-02 18:20:14
发一个简单案例:
前台:
<%@ page language="java" import="java.util.*" pageencoding="ut...
发一个简单案例:
前台:
<%@ 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, httpservletresponse response) throws servletexception, 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显示的信息是:
以上就是为大家分析的用ajax返回验证的时候总是弹出error的原因,希望对大家解决此类问题有所帮助。
推荐阅读
-
使用jquery 的ajax调用总是错误亲测的解决方法
-
Yii使用ajax验证显示错误messagebox的解决方法
-
解决ajax返回验证的时候总是弹出error错误的方法
-
验证码总是错误怎么办? 输入验证码总是提示错误的解决方法汇总
-
jquery formValidator插件ajax验证 内容不做任何修改再离开提示错误的bug解决方法
-
Yii使用ajax验证显示错误messagebox的解决方法_PHP
-
Yii使用ajax验证显示错误messagebox的解决方法
-
Yii使用ajax验证显示错误messagebox的解决方法,yiimessagebox_PHP教程
-
jquery formValidator插件ajax验证 内容不做任何修改再离开提示错误的bug解决方法_jquery
-
使用jquery 的ajax调用总是错误亲测的解决方法