PHP8.1.21版本已发布
vue8.1.21版本已发布
jquery8.1.21版本已发布

解决ajax返回验证的时候总是弹出error错误的方法

亚连
亚连 原创
2018-05-24 11:29:28 2252浏览

这篇文章主要介绍了解决ajax返回验证的时候总是弹出error错误的方法,感兴趣的小伙伴们可以参考一下

发一个简单案例:
前台:

<%@ page language="java" import="java.util.*" pageEncoding="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) 
         } 
       }] 
     }); 
   }); 
     
 
                                                                                                                             
用户名 :
密码:  
               

    

 后台:

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跨域请求下parsererror的错误

ajax提交手机号去数据库验证并返回状态值

AJAX +SpringMVC 实现bootstrap模态框的分页查询功能

以上就是解决ajax返回验证的时候总是弹出error错误的方法的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。