当前位置: 首页 > 工具软件 > Gaia AJAX > 使用案例 >

2. ajax

堵存
2023-12-01

1.同源策略

1.1 同源:

协议(http//),域名,端口(默认80)都一致

1.2 跨域:

协议,域名,端口有一个或多个不一致

网页:http://www.test.com/index.html

接口:http://www.api.com/userlist

1.3 同源策略:

非同源的网站之间,不允许进行资源交互

1.4 跨域请求拦截:

浏览器对服务器的跨域请求可以正常发起,跨域响应回来的数据,因同源策略关系被浏览器拦截,获取不到

1.5如何实现跨域请求:

JSONP 和 CORS。

2.JSONP (只支持get请求):

1.1 概念 理解: 

解决跨域数据访问问题,是js的脚本 不是ajax

script src 不是一个ajax请求,实现跨域请求数据

发送请求时指定回调函数的名字,响应的数据是一个函数的调用,调用函数时会传入数据

1.2代码实例:

①定义success回调函数:
 <script>
     function success(data) {
     console.log('获取到了data数据:')
     console.log(data)
     }
 </script>



②通过<script>标签,请求接口数据:

<script 
src="http://ajax.frontend.itheima.net:3006/api/jsonpcallback=success&name=zs&a
ge=20">
// 根据指定的callback的函数名 不能写成固定的引入js
</script>

1.3使用 jq发起jsonp请求

    <script>
      $(function () {
        $.ajax({
          url: 'http://www.liulongbin.top:3006/api/jsonp?&name=a&age=30', //这是后端写好的接口我们直接调用
          dataType: 'jsonp',
          jsonp: 'callback',
          jsonpCallback: 'success',
          success: function (res) {
            console.log(res)
          },
        })
      })
    </script>

3 防抖和节流区别

① 防抖:

只有最有一次触发生效

  • 应用:输入框

② 节流:

减少事件触发的频率,选择性地执行一部分事件!

  • 应用:懒加载:计算滚动事件的位置, 鼠标连续点击事件

 类似资料: