过滤器 xhr(小黄人) 侦听器

filter

1.Filter ?什么是过滤器
Filter 过滤器它是 JavaWeb 的三大组件之一。
三大组件分别是:Servlet 程序、Listener 监听器、Filter 过滤器
Filter 过滤器它是 JavaEE 的规范。也就是接口
Filter 过滤器它的作用是:拦截请求,过滤响应。
拦截请求常见的应用场景有:
1.权限检查 2.日记操作 3.事务管理 ……等等
要求:在你的 web 工程下,有一个 admin 目录。这个 admin 目录下的所有资源(html 页面、jpg 图片、jsp 文件…等等)都必须是用户登录之后才允许访问。

思考:根据之前我们学过内容。我们知道,用户登录之后都会把用户登录的信息保存到 Session 域中。所以要检查用户是否登录,可以判断 Session 中否包含有用户登录的信息,即可!!!

new Vue({
    
    
      // 过滤器的定义
      filters: {
    
    
        // 属性名称(过滤器名称):属性的值(过滤器处理函数)
        myFilter:function(value,其它参数){
    
    
        
        }
      }
    })

xhr

<script>
    /*   //(请求)浏览器    服务器(处理)   服务器(响应)  前后端交互三步走
      1.ajax不跳转情况下发送请求    
      应用:局部刷新
      2.ajax:使用内置对象XMLHttpRequest发送ajax请求 */
    //(1)创建XMLHttpRequest对象(小黄人对象)
    let xhr = new XMLHttpRequest()
    //(2)设置请求方法和请求地址
    xhr.open('get', 'https://autumnfish.cn/api/joke/list?num=10')
    //(3)发送请求
    xhr.send()
    //(4)注册事件响应回调事件
    /* 这个事件不是立即执行 过一会  取决 于很多因素  带宽天气网络运营商 */
    xhr.onload = function () {
    
    
      document.write(xhr.responseText)
    }
    //(1).实例化ajax对象
    let xhr1 = new XMLHttpRequest()
    //(2).设置请求方法和地址
    //get请求的数据直接添加在url的后面 格式是 url?key=value
    xhr1.open('get', 'https://autumnfish.cn/api/joke/list?num=10')
    //(3).发送请求
    xhr1.send()
    //(4).注册回调函数
    xhr1.onload = function () {
    
    
      document.write(xhr1.responseText)
    }
  </script>

** 全局 Vue.filter('过滤器名称',(value)=>{ //管道符前js表达式执行结果 // 返回处理好的数据即可 })

  • 局部 new Vue({filters:{'过滤器名称':(value)=>{ //管道符前js表达式执行结果 // 返回处理好的数据即可 }}})
    **

侦听器

watch侦听器 可以监听值得变化

他可以监听数据的变化 一旦数据项有变化 ,它就会执行
格式: new Vue{ { watch :{侦听器1: 组件1 : (新值,旧值) { }}}

watch: {
    
    
    "要监听的属性名": {
    
    
        immediate: true, // 立即执行
        deep: true, // 深度监听复杂类型内变化
        handler (newVal, oldVal) {
    
    
            
        }
    }
}
//修改data的对象的属性的值 (要深度监听)    data->obj->(修改name的值)name
//v-model一起使用
 watch: {
    
     // 固定属性(设置监听哪些属性)
    user: {
    
     // 具体属性名(被监听)
      handler(newVal, oldVal){
    
     // 固定触发此函数
        console.log(newVal);
      },
      immediate: true, // 马上监听触发
      deep: true // 深度监听(监听name和age值的改变)
    }
  }

猜你喜欢

转载自blog.csdn.net/qq_43944285/article/details/124820764