因为项目使用的是mvc的框架,前端使用的是metronic bootstrap框架,所以在处理表单的提交时就用了ajax的方式进行提交,这样前端js也方便封装,实现代码复用。
- 先看看js端的相关代码
下面是ajax部分代码
- 然后我们来看看后台控制中情况
如图,需要在新增和修改的方法上面加上两个修饰属性 [HttpPost]和[MyValidateAntiForgeryToken]。第一个好理解,因为ajax使用的post方式传参;那第二个?接着向下看,这是一个自定义的过滤器。需要在App_Start文件夹下新建类并继承AuthorizeAttribute类,且重写方法OnAuthorization实现验证工作。如下
你是不是觉得大功告成了呢?还需要关键的一步,就是在html中的form下添加@Html.AntiForgeryToken(),之前在网上搜索的结果是这个@Html.AntiForgeryToken()被放在了js中,总是不对,后来放在html中发现就没有任何的问题了!!