跨域问题

1.跨越的固定报错格式

ajax跨域问题

2.什么是跨域

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

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

ajax跨域问题

ajax跨域问题

为什么要有同源与不同源

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

解决跨域问题

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

  • 第一种: CORS

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

ajax跨域问题

  • 第二种: JSONP

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

相关文章: