此前一直没有写博客的习惯,只是将一些心得和体会大致的用笔写在一个本子上,今天刚刚开通博客,就随便写一点吧!

关于服务端验证,大致可以分为登陆验证与功能权限验证,而以前端请求方式来区分的话,又可分为 1.同步请求验证 2.异步请求验证(即Ajax)

对于第一种情况,我们可以在返回页面中给予提示,或者干脆就返回特定提示页面; 而第二种情况,处理起来则相对麻烦一些,由于Ajax请求存在返回值多样化的问题,即可能返回text、xml、json、script、html等各种类型的数据,再由回调函数处理,我们虽然可以针对每种类型的返回值,编写相应的处理函数,但是这样的效率确实太低,而且当系统发生变更的时候,我们要去维护这些处理函数也太累了,显然不是我们所追求的,所以,我们最好能在一个统一的函数中轻松得处理它。 其实,鉴于上述情况,当Ajax请求的验证失败时,我们可以在服务器端将Response.StatusCode置为401(未登录)或403(无权限)(PS:服务端代码可以设置Filter来统一拦截处理),或者其它状态码,然后在前端,利用设置Ajax错误全局处理函数来统一处理,以jQuery代码为示例如下:

 $.ajaxSetup({
  error:function(jqXHR){
    if(jqXHR.status==401){
       //请登录
     }
     else if(jqXHR.status==403){
       //功能权限不足
     }
  }
});

以上是本人关于前端验证的一些处理方法,文笔不好,各位见笑了!

如需转载,请务必注明来http://www.cnblogs.com/Raoh/archive/2013/02/19/2916410.html

 
 
分类: jQuery

统一入口的Ajax验证的更多相关文章

  1. IdentityServer4与ocelot实现认证与客户端统一入口

    关于IdentityServer4与ocelot博客园里已经有很多介绍我这里就不再重复了. ocelot与IdentityServer4组合认证博客园里也有很多,但大多使用ocelot内置的认证,而且 ...

  2. Easyui Ajax验证Form表单。。。

        今天做项目用到easyui Ajax验证表单.本想自定义一个easyui的验证,查资料发现easyui 自带了一个通用的验证!见以下下截图. 后台返回值 true验证通过,返回false验证失 ...

  3. 11月10日上午ajax基础知识、用ajax做登录页面、用ajax验证用户名是否可用、ajax动态调用数据库

    1.ajax的基础知识 ajax是结合了jquery.php等几种技术延伸出来的综合运用的技术,不是新的内容.ajax也是写在<script>标签里面的. 如果使用ajax一定是要有1个处 ...

  4. JS表单验证插件(支持Ajax验证)

    自己编写了一个表单验证插件,支持ajax验证,使用起来很简单. 每个需要验证的表单元素下面有一个span标签,这个标签的class有一个valid表示需要验证,如果有nullable则表示可为空:ru ...

  5. 无法在提交表单前通过ajax验证解决办法

    博主在一个小项目中,要实现注册表单无刷新验证用户名或密码,但是发现不管怎么样都无法在先通过ajax验证之前不提交表单. 例如:一个简单的验证函数 function check(){ $.post(&q ...

  6. ajax验证表单元素规范正确与否 ajax展示加载数据库数据 ajax三级联动

    一.ajax验证表单元素规范正确与否 以用ajax来验证用户名是否被占用为例 1创建表单元素<input type="text" id="t"> 2 ...

  7. AJAX验证用户是否存在

    <html> <head> <title> ajax验证 </title> </head> <body> <input t ...

  8. MVC+Ef项目(3) 抽象数据库访问层的统一入口;EF上下文线程内唯一

    抽象一个数据库访问层的统一入口(类似于EF的上下文,拿到上下文,就可以拿到所有的表).实际这个入口就是一个类,类里面有所有的仓储对应的属性.这样,只要拿到这个类的实例,就可以点出所有的仓储,我们在 R ...

  9. 关于JQuery与AJAX验证

    AJAX验证,其实就是JS代码,他就是先利用Jquery或JS获取一个值,然后偷偷的把值传送到验证界面,然后在偷偷的把验证后的结果给传回来,利用传回来的结果在进行JS判断,从而不会刷新界面. 用图片解 ...

随机推荐

  1. 《OD学hadoop》第三周0710

    一.分布式集群安装1. Hadoop模式本地模式.伪分布模式.集群模式datanode 使用的机器上的磁盘,存储空间nodemanager使用的机器上的内存和CPU(计算和分析数据) 2. 搭建环境准 ...

  2. 51nod1294 修改数组

    看题解的...就是将必须要修改的数去掉后求最长的不递减子序列. upper_bound+lower_bound要理解.有时候-1有时候不用是有原因的. #include<cstdio> # ...

  3. poj 1236 Network of Schools(强连通、缩点、出入度)

    题意:给出一个有向图.1:问至少选出多少个点,才能沿有向边遍历所有节点.2:问至少加多少条有向边,使原图强连通. 分析:第一个问题,缩点后找所有树根(入度为0).第二个问题,分别找出入度为0和出度为0 ...

  4. console.log的一个应用 -----用new方法生成一个img对象和document.createElement方法创建一个img对象的区别

    我用两种方法来生成img对象,第一种方法是用new方法,第二种方法是用document.createElement方法. var img1 = new Image(); var img2 = docu ...

  5. 【Java】从域名得到ip

    package sdfg; import java.net.InetAddress; //import java.net.UnknownHostException; import java.io.*; ...

  6. log4net使用介绍

    log4net是一款开源的日志工具,现已挂在apache基金会下.非常简单灵活,初学者有时会发现log4参照资料配置好,但并不输出日志.这种情况,一般是没有准确定位到配置文件.可参阅第3步. 下载 下 ...

  7. openssl rsa 加解密

    <h4>1.openssl进行rsa加密解密</h4>首先介绍下命令台下openssl工具的简单使用:生成一个密钥:<pre lang="c" esc ...

  8. Android点击按钮实现全屏的代码

    package com.hsx.test; import java.lang.reflect.Field; import android.app.Activity; import android.os ...

  9. 使用C#代码审批/转签K2 Blackpearl流程

    转:http://www.cnblogs.com/dannyli/archive/2011/08/02/2125302.html 以下是使用代码审批.转签k2 blackpearl流程,初探K2 Bl ...

  10. android EditText控件可输入正负数及小数位

    设置android:inputType="numberSigned|numberDecimal" <EditText android:id="@+id/editTe ...