资讯专栏INFORMATION COLUMN

解决ajax跨域问题

EasonTyler / 405人阅读

摘要:具体哪些算是跨域如下所示那么为什么需要解决跨域问题由于浏览器的同源策略的限制,必须要求请求为同一域。非官方协议主要是用于解决跨域问题,是一个数据传输的格式。

1、什么是跨域?

是两个不同的域互相请求,这个称之为跨域。
具体哪些算是跨域如下所示:

那么为什么需要解决跨域问题?
由于浏览器的同源策略的限制,必须要求ajax请求为同一域。
什么是同源呢??

同源策略(Same originpolicy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现
所谓同源是指,域名,协议,端口相同。

2、模拟跨域请求

跨域的体现:

3、跨域问题的解决【重点&难点】

现在是通过一个技术“jsonp技术”。
问:jsonp和json是什么关系?
答:这2者没有一毛钱关系。Jsonp非官方协议主要是用于解决跨域问题,json是一个数据传输的格式。

3.1、前辈是如何解决跨域问题

上述的方法就是现在jsonp的原型。
3.2、目前主流的跨域问题的解决方法
3.2.1、XHR2解决跨域问题
XHR2:XMLHttpRequest Level2
核心:在被请求的文件中添加一个header头。
缺点:在IE10以下的浏览器不支持。

但是:这个解决方案是符合W3C标准的,也是其提倡的解决方案,这个方法在移动端也是支持的。

3.2.2、代理方式
核心:代理

让ajax请求本地服务器 服务器处理请求问题

3.2.3、jQuery中的ajax方法
例如:$.get方法、$.getJSON方法
Get方法:

要求1:请求期望返回数据类型必须是jsonp;
要求2:必须在请求地址上带一个参数名;

GetJSON方法:
该方法和get方法基本一致,只是在发送请求的时候略有差异

要求1:参数callback后面的“=?”不能省略,必须要写;
要求2:和get方法不一样,jsonp作为期望的返回数据类型,可以不写;

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/81909.html

相关文章

  • ajax跨域,这应该是最全的解决方案了

    摘要:关于,强烈推荐阅读跨域资源共享详解阮一峰另外,这里也整理了一个实现原理图简化版如何判断是否是简单请求浏览器将请求分成两类简单请求和非简单请求。 前言 从刚接触前端开发起,跨域这个词就一直以很高的频率在身边重复出现,一直到现在,已经调试过N个跨域相关的问题了,16年时也整理过一篇相关文章,但是感觉还是差了点什么,于是现在重新梳理了一下。 个人见识有限,如有差错,请多多见谅,欢迎提出iss...

    ytwman 评论0 收藏0
  • 20K前端大佬面试(关于如何回答ajax跨域问题)

    摘要:在接触前端开发起,跨域这个词就一直以很高的频率在我们学习工作中重复出现,最近在工作中遇到了跨域的相关问题,这里我把它总结记录一下。 在接触前端开发起,跨域这个词就一直以很高的频率在我们学习工作中重复出现,最近在工作中遇到了跨域的相关问题,这里我把它总结记录一下。关于跨域,有N种类型,现在我只专注于ajax请求跨域(ajax跨域只是属于浏览器同源策略中的一部分,其它的这里不做介绍),内容...

    Yangyang 评论0 收藏0
  • AJAX 跨域解析

    摘要:这里只讲解了两种常见的跨域方式,因为存在一些弊端,因此推荐使用等方式来解决跨域问题。 一、什么是 AJAX 跨域问题 同源策略规定,AJAX 请求(XMLHttpRequest)只能发给同源的网址,否则就会出错。所谓的同源策略是指 3 个相同:协议相同、域名相同、端口相同。 比如 http://www.example.com/index.html 这个网址,协议是http ,域名是 w...

    tinylcy 评论0 收藏0
  • AJAX跨域完全讲解

    摘要:跨域完全讲解今天在慕课网上学习了跨域完全讲解我在收集面试题的时候其实就已经有过跨域的问题的了,当时候知道了为什么会存在跨域,以及跨域解决的方案有哪些,今天随着课程的学习,又加深了跨域的理解,以此记录下来。 AJAX跨域完全讲解 今天在慕课网上学习了AJAX跨域完全讲解:https://www.imooc.com/learn/947 我在收集AJAX面试题的时候其实就已经有过AJAX跨域...

    alexnevsky 评论0 收藏0
  • AJAX跨域完全讲解

    摘要:跨域完全讲解今天在慕课网上学习了跨域完全讲解我在收集面试题的时候其实就已经有过跨域的问题的了,当时候知道了为什么会存在跨域,以及跨域解决的方案有哪些,今天随着课程的学习,又加深了跨域的理解,以此记录下来。 AJAX跨域完全讲解 今天在慕课网上学习了AJAX跨域完全讲解:https://www.imooc.com/learn/947 我在收集AJAX面试题的时候其实就已经有过AJAX跨域...

    i_garfileo 评论0 收藏0

发表评论

0条评论

EasonTyler

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<