ajax跨域问题

跨域问题

1.跨越的固定报错格式

在这里插入图片描述

2.什么是跨域

浏览器在使用ajax时,如果请求的接口地址,和当前打开的页面地址不同源称之为跨域。

  • ajax:浏览器只有使用ajax发送请求才会出现跨域。 href属性与src属性不会出现跨域
  • 接口地址: ajax请求的url
  • 打开的页面:当前页面的window.location.href
  • 不同源:浏览器使用ajax,向不同源的接口发送请求,称之为跨域访问

在这里插入图片描述

在这里插入图片描述

为什么要有同源与不同源

  • 出于安全考虑,浏览器不允许,页面向不同源的接口请求数据,因为如果接口和网页不同源,浏览器认为是2个不同的服务器,
  • 不同的服务器中内容是不可控的,不允许访问了

解决跨域问题

跨域是前端工作中不可避免的问题:我们经常会出现请求不同源接口的情况,为了能够获取数据,解决跨域的问题方案也有很多,但是常用的就两种

  • 第一种: CORS

    目前的主流方案,也是最简单的方案直接让后端设置响应头,允许资源共享就ok.

在这里插入图片描述

  • 第二种: JSONP

    曾经的跨域杀手,专治各种跨域问题。现在慢慢的淡出历史舞台
    PS:面试官特别喜欢问这个,因为这个有一定的技术难度, 也能体现-个人的实际开发经验
    jsonp是前后端来配合使用的.
    使用原理:通过动态创建script标签,通过script标签的src请求没有跨域限制来获取资源

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值