1.https://segmentfault.com/a/1190000000709909
2.https://blog.csdn.net/qq_38128179/article/details/84956552
<link href="https://csdnimg.cn/public/favicon.ico" rel="SHORTCUT ICON">
<title>什么是跨域?跨域解决方法 - 越努力,越幸运! - CSDN博客</title>
<link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/detail-cbbea2d97d.min.css">
<link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/themes/skin-whitemove/skin-whitemove-af06037812.min.css">
<script type="text/javascript">
var username = "qq_38128179";
var blog_address = "https://blog.csdn.net/qq_38128179";
var static_host = "https://csdnimg.cn/release/phoenix/";
var currentUserName = "weixin_42847626";
var isShowAds = true;
var isOwner = false;
var loginUrl = "http://passport.csdn.net/account/login?from=https://blog.csdn.net/qq_38128179/article/details/84956552"
var blogUrl = "https://blog.csdn.net/";
var curSkin = "skin-whitemove";
// 收藏所需数据
var articleTitle = "什么是跨域?跨域解决方法";
var articleDesc = "一、为什么会出现跨域问题出于浏览器的同源策略限制。同源策略(Sameoriginpolicy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现。同源策略会阻止一个域的javascript脚本和另外一个域的内容进行交互。所谓同源(即指在同一个域)就是两个页面具有相同的协...";
// 第四范式所需数据
var articleTitles = "什么是跨域?跨域解决方法 - 越努力,越幸运!";
var nickName = "@Demi";
var isCorporate = false;
var subDomainBlogUrl = "https://blog.csdn.net/"
var digg_base_url = "https://blog.csdn.net/qq_38128179/phoenix/comment";
var articleDetailUrl = "https://blog.csdn.net/qq_38128179/article/details/84956552";
var isABtestcomment = "1";
</script>
<script src="https://csdnimg.cn/public/common/libs/jquery/jquery-1.9.1.min.js" type="text/javascript"></script>
<!--js引用-->
<script src="//g.csdnimg.cn/??fixed-sidebar/1.1.6/fixed-sidebar.js,report/1.0.6/report.js" type="text/javascript"></script>
<link rel="stylesheet" href="https://csdnimg.cn/public/sandalstrap/1.4/css/sandalstrap.min.css">
<style>
.MathJax, .MathJax_Message, .MathJax_Preview{
display: none
}
</style>
什么是跨域?跨域解决方法
一、为什么会出现跨域问题
出于浏览器的同源策略限制。同源策略(Sameoriginpolicy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现。同源策略会阻止一个域的javascript脚本和另外一个域的内容进行交互。所谓同源(即指在同一个域)就是两个页面具有相同的协议(protocol),主机(host)和端口号(port)
二、什么是跨域
当一个请求url的协议、域名、端口三者之间任意一个与当前页面url不同即为跨域
当前页面url | 被请求页面url | 是否跨域 | 原因 |
http://www.test.com/ | http://www.test.com/index.html | 否 | 同源(协议、域名、端口号相同) |
http://www.test.com/ | https://www.test.com/index.html | 跨域 | 协议不同(http/https) |
http://www.test.com/ | http://www.baidu.com/ | 跨域 | 主域名不同(test/baidu) |
http://www.test.com/ | http://blog.test.com/ | 跨域 | 子域名不同(www/blog) |
http://www.test.com:8080/ | http://www.test.com:7001/ | 跨域 | 端口号不同(8080/7001) |
三、非同源限制
【1】无法读取非同源网页的 Cookie、LocalStorage 和 IndexedDB
【2】无法接触非同源网页的 DOM
【3】无法向非同源地址发送 AJAX 请求
四、跨域解决方法
【1】设置document.domain解决无法读取非同源网页的 Cookie问题
因为浏览器是通过document.domain属性来检查两个页面是否同源,因此只要通过设置相同的document.domain,两个页面就可以共享Cookie(此方案仅限主域相同,子域不同的跨域应用场景。)
// 两个页面都设置
document.domain = 'test.com';
【2】跨文档通信 API:window.postMessage()
调用postMessage方法实现父窗口http://test1.com向子窗口http://test2.com发消息(子窗口同样可以通过该方法发送消息给父窗口)
它可用于解决以下方面的问题:
- 页面和其打开的新窗口的数据传递
- 多窗口之间消息传递
- 页面与嵌套的iframe消息传递
- 上面三个场景的跨域数据传递
// 父窗口打开一个子窗口
var openWindow = window.open('http://test2.com', 'title');
// 父窗口向子窗口发消息(第一个参数代表发送的内容,第二个参数代表接收消息窗口的url)
openWindow.postMessage(‘Nice to meet you!’, ‘http://test2.com’);
调用message事件,监听对方发送的消息
// 监听 message 消息
window.addEventListener('message', function (e) {
console.log(e.source); // e.source 发送消息的窗口
console.log(e.origin); // e.origin 消息发向的网址
console.log(e.data); // e.data 发送的消息
},false);
【3】JSONP
JSONP 是服务器与客户端跨源通信的常用方法。最大特点就是简单适用,兼容性好(兼容低版本IE),缺点是只支持get请求,不支持post请求。
核心思想:网页通过添加一个<script>元素
,向服务器请求 JSON 数据,服务器收到请求后,将数据放在一个指定名字的回调函数的参数位置传回来。
①原生实现:
<script src="http://test.com/data.php?callback=dosomething"></script>
// 向服务器test.com发出请求,该请求的查询字符串有一个callback参数,用来指定回调函数的名字
// 处理服务器返回回调函数的数据
<script type="text/javascript">
function dosomething(res){
// 处理获得的数据
console.log(res.data)
}
</script>
② jQuery ajax:
$.ajax({
url: 'http://www.test.com:8080/login',
type: 'get',
dataType: 'jsonp', // 请求方式为jsonp
jsonpCallback: "handleCallback", // 自定义回调函数名
data: {}
});
③ Vue.js
this.$http.jsonp('http://www.domain2.com:8080/login', {
params: {},
jsonp: 'handleCallback'
}).then((res) => {
console.log(res);
})
【4】CORS
CORS 是跨域资源分享(Cross-Origin Resource Sharing)的缩写。它是 W3C 标准,属于跨源 AJAX 请求的根本解决方法。
1、普通跨域请求:只需服务器端设置Access-Control-Allow-Origin
2、带cookie跨域请求:前后端都需要进行设置
【前端设置】根据xhr.withCredentials字段判断是否带有cookie
①原生ajax
var xhr = new XMLHttpRequest(); // IE8/9需用window.XDomainRequest兼容
// 前端设置是否带cookie
xhr.withCredentials = true;
xhr.open('post', 'http://www.domain2.com:8080/login', true);
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xhr.send('user=admin');
xhr.onreadystatechange = function() {
if (xhr.readyState == 4 && xhr.status == 200) {
alert(xhr.responseText);
}
};
② jQuery ajax
$.ajax({
url: 'http://www.test.com:8080/login',
type: 'get',
data: {},
xhrFields: {
withCredentials: true // 前端设置是否带cookie
},
crossDomain: true, // 会让请求头中包含跨域的额外信息,但不会含cookie
});
③vue-resource
Vue.http.options.credentials = true
④ axios
axios.defaults.withCredentials = true
【服务端设置】
服务器端对于CORS的支持,主要是通过设置Access-Control-Allow-Origin来进行的。如果浏览器检测到相应的设置,就可以允许Ajax进行跨域的访问。
① Java后台
/*
* 导入包:import javax.servlet.http.HttpServletResponse;
* 接口参数中定义:HttpServletResponse response
*/
// 允许跨域访问的域名:若有端口需写全(协议+域名+端口),若没有端口末尾不用加'/'
response.setHeader("Access-Control-Allow-Origin", "http://www.domain1.com");
// 允许前端带认证cookie:启用此项后,上面的域名不能为'*',必须指定具体的域名,否则浏览器会提示
response.setHeader("Access-Control-Allow-Credentials", "true");
// 提示OPTIONS预检时,后端需要设置的两个常用自定义头
response.setHeader("Access-Control-Allow-Headers", "Content-Type,X-Requested-With");
② Nodejs后台
var http = require('http');
var server = http.createServer();
var qs = require('querystring');
server.on('request', function(req, res) {
var postData = '';
// 数据块接收中
req.addListener('data', function(chunk) {
postData += chunk;
});
// 数据接收完毕
req.addListener('end', function() {
postData = qs.parse(postData);
// 跨域后台设置
res.writeHead(200, {
'Access-Control-Allow-Credentials': 'true', // 后端允许发送Cookie
'Access-Control-Allow-Origin': 'http://www.domain1.com', // 允许访问的域(协议+域名+端口)
/*
* 此处设置的cookie还是domain2的而非domain1,因为后端也不能跨域写cookie(nginx反向代理可以实现),
* 但只要domain2中写入一次cookie认证,后面的跨域接口都能从domain2中获取cookie,从而实现所有的接口都能跨域访问
*/
'Set-Cookie': 'l=a123456;Path=/;Domain=www.domain2.com;HttpOnly' // HttpOnly的作用是让js无法读取cookie
});
res.write(JSON.stringify(postData));
res.end();
});
});
server.listen('8080');
console.log('Server is running at port 8080...');
③ PHP后台
<?php
header("Access-Control-Allow-Origin:*");
④ Apache需要使用mod_headers模块来激活HTTP头的设置,它默认是激活的。你只需要在Apache配置文件的<Directory>, <Location>, <Files>或<VirtualHost>的配置里加入以下内容即可
Header set Access-Control-Allow-Origin *
<div class="hide-article-box hide-article-pos text-center">
<a class="btn-readmore" data-report-view='{"mod":"popu_376","dest":"https://blog.csdn.net/qq_38128179/article/details/84956552","strategy":"readmore"}' data-report-click='{"mod":"popu_376","dest":"https://blog.csdn.net/qq_38128179/article/details/84956552","strategy":"readmore"}'>
展开阅读全文
<svg class="icon chevrondown" aria-hidden="true">
<use xlink:href="#csdnc-chevrondown"></use>
</svg>
</a>
</div>
<div class="recommend-box"><div class="recommend-item-box type_blog clearfix" data-report-view='{"mod":"popu_614","dest":"https://blog.csdn.net/tjcjava/article/details/76468225","strategy":"BlogCommendFromMachineLearnPai2","index":"0"}' data-report-click='{"mod":"popu_614","dest":"https://blog.csdn.net/tjcjava/article/details/76468225","strategy":"BlogCommendFromMachineLearnPai2","index":"0"}'>
<div class="content">
<a href="https://blog.csdn.net/tjcjava/article/details/76468225" target="_blank" rel="noopener" title="什么是跨域?如何解决跨域问题?">
<h4 class="text-truncate oneline">
什么是<em>跨</em><em>域</em>?如何<em>解决</em><em>跨</em><em>域</em>问题? </h4>
<div class="info-box d-flex align-content-center">
<p class="date-and-readNum oneline">
<span class="date hover-show">07-31</span>
<span class="read-num hover-hide">
阅读数
4万+</span>
</p>
</div>
</a>
<p class="content">
<a href="https://blog.csdn.net/tjcjava/article/details/76468225" target="_blank" rel="noopener" title="什么是跨域?如何解决跨域问题?">
<span class="desc oneline">什么是跨域?浏览器从一个域名的网页去请求另一个域名的资源时,域名、端口、协议任一不同,都是跨域域名:主域名不同http://www.baidu.com/index.html–&amp;amp;gt;h...</span>
</a>
<span class="blog_title_box oneline ">
<span class="type-show type-show-blog type-show-after">博文</span>
<a target="_blank" rel="noopener" href="https://blog.csdn.net/tjcjava">来自: <span class="blog_title"> 飞扬_柳絮的专栏</span></a>
</span>
</p>
</div>
</div>
<div class="comment-edit-box d-flex">
<a id="commentsedit"></a>
<div class="user-img">
<a href="//me.csdn.net/weixin_42847626" target="_blank" rel="noopener">
<img class="" src="https://avatar.csdn.net/D/F/5/3_weixin_42847626.jpg">
</a>
</div>
<form id="commentform">
<input type="hidden" id="comment_replyId">
<textarea class="comment-content" name="comment_content" id="comment_content" placeholder="想对作者说点什么"></textarea>
<div class="opt-box"> <!-- d-flex -->
<div id="ubbtools" class="add_code">
<a href="#insertcode" code="code" target="_self"><i class="icon iconfont icon-daima"></i></a>
</div>
<input type="hidden" id="comment_replyId" name="comment_replyId">
<input type="hidden" id="article_id" name="article_id" value="84956552">
<input type="hidden" id="comment_userId" name="comment_userId" value="">
<input type="hidden" id="commentId" name="commentId" value="">
<div style="display: none;" class="csdn-tracking-statistics tracking-click" data-report-click='{"mod":"popu_384","dest":""}'><a href="#" target="_blank" class="comment_area_btn" rel="noopener">发表评论</a></div>
<div class="dropdown" id="myDrap">
<a class="dropdown-face d-flex align-items-center" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
<div class="txt-selected text-truncate">添加代码片</div>
<svg class="icon d-block" aria-hidden="true">
<use xlink:href="#csdnc-triangledown"></use>
</svg>
</a>
<ul class="dropdown-menu" id="commentCode" aria-labelledby="drop4">
<li><a data-code="html">HTML/XML</a></li>
<li><a data-code="objc">objective-c</a></li>
<li><a data-code="ruby">Ruby</a></li>
<li><a data-code="php">PHP</a></li>
<li><a data-code="csharp">C</a></li>
<li><a data-code="cpp">C++</a></li>
<li><a data-code="javascript">JavaScript</a></li>
<li><a data-code="python">Python</a></li>
<li><a data-code="java">Java</a></li>
<li><a data-code="css">CSS</a></li>
<li><a data-code="sql">SQL</a></li>
<li><a data-code="plain">其它</a></li>
</ul>
</div>
<div class="right-box">
<span id="tip_comment" class="tip">还能输入<em>1000</em>个字符</span>
<input type="button" class="btn btn-sm btn-cancel d-none" value="取消回复">
<input type="submit" class="btn btn-sm btn-red btn-comment" value="发表评论">
</div>
</div>
</form>
</div>
<div class="comment-list-container">
<a id="comments"></a>
<div class="comment-list-box">
</div>
<div id="commentPage" class="pagination-box d-none"></div>
<div class="opt-box text-center">
<div class="btn btn-sm btn-link-blue" id="btnMoreComment"></div>
</div>
</div>
什么是跨域?怎么解决跨域问题?
06-15 阅读数 19万+
什么是跨域?跨域,指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对javascript施加的安全限制。所谓同源是指,域名,协议,端口均相同,不明白没关系,举个栗子:http... 博文 来自: L瑜
什么是跨域?解决跨域的五种方法。
07-11 阅读数 32
解决办法:1、JSONP:使用方式就不赘述了,但是要注意JSONP只支持GET请求,不支持POST请求。2、代理:例如www.123.com/index.html需要调用www.456.com/ser... 博文 来自: weixin_33747129的博客
<div class="recommend-item-box recommend-recommend-box"><div id="kp_box_59" data-pid="59"><script type="text/javascript">
(function() {
var s = "_" + Math.random().toString(36).slice(2);
document.write('<div style="" id="' + s + '"></div>');
(window.slotbydup = window.slotbydup || []).push({
id: "u3491668",
container: s
});
})();
如何解决跨域问题?
08-27 阅读数 1273
&#13; 如何解决跨域问题?首先我们需要知道什么是跨域,跨域指的是浏览器不能执行其它网站的脚本,它是由浏览器的同源策略造成的,是浏览器对JavaScript施加的安全限制。&... 博文 来自: YSOcean的博客
解决跨域的两种方案
11-07 阅读数 3612
一、跨域与同源策略跨域,通俗地讲,是指一个服务A的客户端请求另一个服务B的数据。下面给出了跨域的图示。在上面这个图中,描述了客户端与服务A关系,也就是说,客户端不允许对服务A以外的服务进行访问。这就是... 博文 来自: 流年梦里风起舞
什么是跨域、怎么解决跨域以及如何实现跨域下的登录
09-13 阅读数 40
前言:在以往开发中,不会涉及到跨域的问题,因为往往都是在同一个项目中开发代码或者单纯写小demo;However,在实际项目中,前后端分成两个不同的项目,各自部署在不同的域名下,这也就会遇到跨域问题了... 博文 来自: Msgyvcici
什么是跨域以及几种简单解决方案
03-19 阅读数 432
什么是跨域?要明白什么是跨域之前,首先要明白什么是同源策略?同源策略就是用来限制从一个源加载的文档或脚本与来自另一个源的资源进行交互。那怎样判断是否是同源呢?如果协议,端口(如果指定了)和主机对于两个... 博文 来自: 大灰狼的小绵羊哥哥的博客
<div class="recommend-item-box recommend-recommend-box"><div id="kp_box_60" data-pid="60"><div id="three_ad8" class="mediav_ad" ></div>
常见的跨域解决方案以及原理
10-13 阅读数 899
一、JSONP(适用于单项跨域请求)原理:因为浏览器对script不存在同源策略,所以script可以跨域请求外部资源,返回的数据是json格式。缺点:1、只能发送get请求,无法发送post请求 2... 博文 来自: lirunhui6的博客
<div class="recommend-item-box blog-expert-recommend-box">
<div class="d-flex">
<div class="blog-expert-recommend">
<div class="blog-expert">
<div class="blog-expert-flexbox"></div>
</div>
</div>
</div>
</div>
前后端分离与跨域的解决方案(CORS的原理)
08-23 阅读数 1万+
前后端分离 前后端分离的好处最大的好处就是前端JS可以做很大部分的数据处理工作,对服务器的压力减小到最小。 后台错误不会直接反映到前台,错误接秒较为友好。 由于后台是很难去探知前台页面的分布情况,而... 博文 来自: 来自一个小码农的记录
彻底解决跨域问题(五种解决跨域的方式)
08-22 阅读数 8228
跨域问题解决方案最近自己写了一个js组件,该js组件是提供给第三方使用的,而js组件中涉及了ajax请求,于是乎就出现了跨域请求问题。下面记录一下自己的解决路程。什么是跨域参考:跨域请求详解个人理解:... 博文 来自: 小雪的博客
JS中的跨域问题及解决办法汇总
11-16 阅读数 5360
一、什么是跨域?在了解跨域之前,首先要知道什么是同源策略(same-originpolicy)。简单来讲同源策略就是浏览器为了保证用户信息的安全,防止恶意的网站窃取数据,禁止不同域之间的JS进行交互。... 博文 来自: lareinalove的博客
<div class="recommend-item-box recommend-recommend-box"><div id="kp_box_61" data-pid="61"><iframe src="https://adaccount.csdn.net/#/preview/577?m=ELcnvDHAcmtoSHibcDDLtpJUJHLAXncbALHiEpvtSbJJySSLySHQLLtJiitLiWQbbvSLbLyLtALULUiipipbcSnnAnDiUSHcbAQQ&k=" frameborder="0" width= "100%" height= "75px" scrolling="no" ></iframe><img class="pre-img-lasy" data-src="https://kunyu.csdn.net/1.png?d=2&k=&m=ELcnvDHAcmtoSHibcDDLtpJUJHLAXncbALHiEpvtSbJJySSLySHQLLtJiitLiWQbbvSLbLyLtALULUiipipbcSnnAnDiUSHcbAQQ"></div></div>
jsonp跨域原理解析
09-01 阅读数 7621
背景:由于浏览器同源策略的限制,非同源下的请求,都会产生跨域问题,jsonp即是为了解决这个问题出现的一种简便解决方案。同源策略即:同一协议,同一域名,同一端口号。当其中一个不满足时,我们的请求即会发... 博文 来自: badmoonc的博客
什么是跨域以及产生原因
07-29 阅读数 1204
目录1.背景介绍2.知识剖析3.常见问题4.解决方案5.编码实战6.扩展思考7.参考文献8.更多讨论...... 博文 来自: weixin_40690385的博客
前端JS跨域解决方案
11-07 阅读数 2107
JS跨域请求这里说的js跨域是指通过js在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通过js获取页面中不同域的框架中(iframe)的数据。只要协议、域名、端口有任何一... 博文 来自: 我在阴山下
什么是跨域问题?解决思路
03-23 阅读数 277
博客1:https://www.cnblogs.com/itmacy/p/6958181.html博客2:什么是跨域?跨域,指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器施... 博文 来自: LZJWXJ树袋熊
简析全双工与半双工的区别
06-12 阅读数 8295
全双工传输英文写法是:Full-DuplexTransmissions是指交换机在发送数据的同时也能够接收数据,两者同步进行,这好像我们平时打电话一样,说话的同时也能够听到对方的声音。目前的交换机都支... 博文 来自: Charles' home
<div class="recommend-item-box recommend-recommend-box"><div id="kp_box_62" data-pid="62"><script type="text/javascript">
(function() {
var s = "_" + Math.random().toString(36).slice(2);
document.write('<div style="" id="' + s + '"></div>');
(window.slotbydup = window.slotbydup || []).push({
id: "u3600849",
container: s
});
})();
什么是跨域?常见的跨域的方式都有哪几种
12-08 阅读数 1406
跨域指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对javascript施加的安全限制。同源就是指,域名,协议,端口均相同。http://www.123.com:8080/... 博文 来自: William.Yao的博客
跨域问题的出现与解决
10-25 阅读数 688
jeecg跨域问题的出现与解决跨域问题是如何看出来的对于前后端相互分离的代码来说利用AJAX进行交互,在谷歌控制台上会出现请求头相关的信息,这就说明跨域了。具体错误信... 博文 来自: qq_41858479的博客
屏蔽百家号 -(baijiahao)
01-27 阅读数 1万+
快过年了,回家了,发个非技术博客吧。最近被百家号恶心到不行,搜了下屏蔽方法,在家懒得翻墙用谷歌,又懒得装插件设置屏蔽,找到了一个简单有效的方法,直接在搜索内容后边加-(baijiahao),效果还不错... 博文 来自: 慢慢积累
什么是跨域?怎么解决?
05-06 阅读数 22
什么是跨域跨域:指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对javascript施加的安全限制。例如:a页面想获取b页面资源,如果a、b页面的协议、域名、端口、子域名不... 博文 来自: 无知无畏的博客
<div class="recommend-item-box recommend-recommend-box"><div id="kp_box_63" data-pid="63"><script
async="async"
charset="utf-8"
src="https://shared.ydstatic.com/js/yatdk/3.0.1/stream.js"
data-id="8935aa488dd58452b9e5ee3b44f1212f"
data-udid="24C56021-A1CB-4A07-993A-2D2A7F00FDCD"
data-div-Style="width:900px;height:76px;"
data-img-Style="float:left;margin-right:15px;width:90px;height:60px;"
data-tit-Style="font-size:16px;color:#f13d3d;"
data-des-Style=“font-size:12px;color:#333;”
前端常见跨域解决方案(全)
09-13 阅读数 104
什么是跨域?跨域是指一个域下的文档或脚本试图去请求另一个域下的资源,这里跨域是广义的。广义的跨域:1.)资源跳转:A链接、重定向、表单提交2.)资源嵌入:<link>、<script... 博文 来自: weixin_34281537的博客
跨域问题(前端面试最常问)
08-11 阅读数 4812
https://blog.csdn.net/as645788/article/details/51285688为什么要跨域?跨域问题是浏览器同源策略限制,当前域名的js只能读取同域下的窗口属性。 一个... 博文 来自: 山鬼谣弋痕夕的博客
目前9种跨域请求解决方案及详解
08-12 阅读数 2547
1,CORS(跨域资源共享)优点CORS通信与同源的AJAX通信没有差别,代码完全一样,容易维护。 支持所有类型的HTTP请求。缺点存在兼容性问题,特别是IE10以下的浏览器。 第一次发送非简单请求时... 博文 来自: 分享,让视野更宽阔
什么是跨域及怎么解决跨域问题?
12-07 阅读数 3488
什么是跨域?这篇博文解释的挺清楚,我直接引用https://blog.csdn.net/lambert310/article/details/51683775跨域,指的是浏览器不能执行其他网站的脚本。... 博文 来自: lianzhang861的博客
<div class="recommend-item-box recommend-recommend-box"><div id="kp_box_64" data-pid="64"><script type="text/javascript">
(function() {
var s = "_" + Math.random().toString(36).slice(2);
document.write('<div style="" id="' + s + '"></div>');
(window.slotbydup = window.slotbydup || []).push({
id: "u3600856",
container: s
});
})();
什么是跨域?怎样解决跨域问题
12-04 阅读数 785
1、什么是跨域跨域是指浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对JavaScript施加的安全限制。所谓的同源是指:域名、协议、端口均相同。例如:http://www.12... 博文 来自: bobozai86的博客
关于跨域,以及跨域的几种方式
09-07 阅读数 218
首先我们来想一想 为什么会有跨域这个名词的出现呢? 跨域又是什么呢?为何要跨域? 浏览器的同源策略又是什么?怎么解决? jsonp又是什么? ... 博文 来自: yijiupingfan0914的博客
Ajax跨域调用Restful接口 JSONP和CORS两种解决方案详解
09-05 阅读数 3531
最近工作中遇到了一个需求,需要Ajax跨域调取Restful接口获取数据。因为本次需求仅用到GET请求,经过几番波折,最终采用JSONP方式(仅支持GET方式请求)实现。但是本篇文章将顺带介绍另一种更... 博文 来自: 小猪1993的博客
<div class="recommend-item-box recommend-recommend-box"><div id="kp_box_65" data-pid="65"><iframe src="https://adaccount.csdn.net/#/preview/578?m=JcEQLLAbbnQiHLiLEciEpnJDyAniiSJtSpHbLcLDbJDfHXvHinvpbpyttmHpQJWpSAQcQptSoicpoASXJnitnLctLJEHSctJnLQQ&k=" frameborder="0" width= "100%" height= "75px" scrolling="no" ></iframe><img class="pre-img-lasy" data-src="https://kunyu.csdn.net/1.png?d=2&k=&m=JcEQLLAbbnQiHLiLEciEpnJDyAniiSJtSpHbLcLDbJDfHXvHinvpbpyttmHpQJWpSAQcQptSoicpoASXJnitnLctLJEHSctJnLQQ"></div></div>
解决ajax跨域问题【5种解决方案】
09-02 阅读数 1万+
什么是跨域问题?跨域问题来源于JavaScript的"同源策略",即只有协议+主机名+端口号(如存在)相同,则允许相互访问。也就是说JavaScript只能访问和操作自己域下的资源,不能访问和操作其他... 博文 来自: itcats_cn的博客
浅谈解决前端跨域的两个方法
06-22 阅读数 6325
在前端开发中在使用Ajax调用后端接口的时候经常会遇到跨域的问题,导致不能拿到后端接口返回的数据.下面我们来看看解决跨域的几个方法.在解决跨域问题的前,我们先来了解一下什么是跨域,跨域:即请求的地址与... 博文 来自: Mr.桐先生的博客
跨域解决方案(一)详细篇
03-28 阅读数 819
一、前言跨域问题在前端已经是老生常谈了,本文围绕着为什么产生跨域以及几种解决方案详细说明。二、跨域起源说到跨域不得不提到浏览器的同源策略(1995年,Netscape公司提出的,现在适用于所有浏览器)... 博文 来自: 回眸一笑
AJAX跨域产生原因及解决方法
06-11 阅读数 4400
什么是跨域: 跨域问题来源于JavaScript的同源策略,即只有协议+主机名+端口号(如存在)相同,则允许相互访问。也就是说JavaScript只能访问和操作自己域下的资源,不能访问和... 博文 来自: 一杯蓝莓
<div class="recommend-item-box recommend-recommend-box"><div id="kp_box_66" data-pid="66"><iframe src="https://adaccount.csdn.net/#/preview/593?m=tcJAJDttLnUHLnScSUAmSpHcnDbJEULJiJAivpHiEXSpXtLpnbpHStvLLioLpUiSHQLWLAQponAJJESbbmpJtvAUbAnQJDXHicQQ&k=" frameborder="0" width= "100%" height= "75px" scrolling="no" ></iframe><img class="pre-img-lasy" data-src="https://kunyu.csdn.net/1.png?d=2&k=&m=tcJAJDttLnUHLnScSUAmSpHcnDbJEULJiJAivpHiEXSpXtLpnbpHStvLLioLpUiSHQLWLAQponAJJESbbmpJtvAUbAnQJDXHicQQ"></div></div>
跨域的常见解决方法
06-12 阅读数 29
1、后端处理(开启跨域)2、前端处理-jsonp3、Cors4、http-proxy-middleware 博文 来自: weixin_44756169的博客
<div class="recommend-item-box type_hot_word">
<div class="content clearfix">
<div class="float-left">
<span>
<a href="https://www.csdn.net/gather_13/NtTaEgzsLWRvd25sb2Fk.html" target="_blank">
c# 返回句柄</a>
</span>
<span>
<a href="https://www.csdn.net/gather_15/NtTaEg0sLWRvd25sb2Fk.html" target="_blank">
c# update中文</a>
</span>
<span>
<a href="https://www.csdn.net/gather_1f/NtTaEg2sLWRvd25sb2Fk.html" target="_blank">
c#中类的语法结构</a>
</span>
<span>
<a href="https://www.csdn.net/gather_13/NtTaEg3sLWRvd25sb2Fk.html" target="_blank">
c# chart放大缩小</a>
</span>
<span>
<a href="https://www.csdn.net/gather_1e/NtTaEg4sLWRvd25sb2Fk.html" target="_blank">
c# 选择打印机对话框</a>
</span>
<span>
<a href="https://www.csdn.net/gather_16/NtTaEg5sLWRvd25sb2Fk.html" target="_blank">
c#浮点型转换为整型</a>
</span>
<span>
<a href="https://www.csdn.net/gather_1c/NtTaIgwsLWRvd25sb2Fk.html" target="_blank">
c#数组删除元素</a>
</span>
<span>
<a href="https://www.csdn.net/gather_10/NtTaIgxsLWRvd25sb2Fk.html" target="_blank">
c# 委托例子</a>
</span>
<span>
<a href="https://www.csdn.net/gather_15/NtTaIgysLWRvd25sb2Fk.html" target="_blank">
c# 出提示音</a>
</span>
<span>
<a href="https://www.csdn.net/gather_12/NtTaIgzsLWRvd25sb2Fk.html" target="_blank">
c# exe緩存</a>
</span>
</div>
</div>
</div>
<div class="recommend-loading-box">
<img src='https://csdnimg.cn/release/phoenix/images/feedLoading.gif'>
</div>
<div class="recommend-end-box">
<p class="text-center">没有更多推荐了,<a href="https://blog.csdn.net/" class="c-blue c-blue-hover c-blue-focus">返回首页</a></p>
</div>
</div>
<div class="template-box">
<span>博客模板©2019 </span><span class="point"></span><span>由CSDN提供</span><span class="point"></span>
<span>模版主题为:skin-whitemove by
上身试试 设计
</span>
</div>
</main>
<aside>
<div id="asideProfile" class="aside-box">
<!-- <h3 class="aside-title">个人资料</h3> -->
<div class="profile-intro d-flex">
<div class="avatar-box d-flex justify-content-center flex-column">
<a href="https://blog.csdn.net/qq_38128179">
<img src="https://avatar.csdn.net/4/0/F/3_qq_38128179.jpg" class="avatar_pic" username = 'qq_38128179'>
<img src="https://g.csdnimg.cn/static/user-reg-year/1x/2.png" class="user-years">
</a>
</div>
<div class="user-info d-flex flex-column">
<p class="name csdn-tracking-statistics tracking-click" data-report-click='{"mod":"popu_379"}' username='qq_38128179'>
<a href="https://blog.csdn.net/qq_38128179" class="" id="uid" title='@Demi'>@Demi</a>
</p>
<p class="personal-home-page" style = 'right:-96px;'><a target="_blank" href="https://me.csdn.net/qq_38128179">TA的个人主页 ></a></p>
</div>
<div class = 'profile-personal-letter'>
<a id = 'profile-personal-alink' href="" target="_blank" rel="noopener">私信</a>
</div>
<div class="opt-box d-flex flex-column">
<span class="csdn-tracking-statistics tracking-click" data-report-click='{"mod":"popu_379"}'>
<a class="btn btn-sm btn-red-hollow attention" id="btnAttent" style = 'line-height:24px;padding:0;'>关注</a>
</span>
</div>
</div>
<div class="data-info d-flex item-tiling">
<dl class="text-center" title="80">
<dt><a href="https://blog.csdn.net/qq_38128179?t=1">原创</a></dt>
<dd><a href="https://blog.csdn.net/qq_38128179?t=1"><span class="count">80</span></a></dd>
</dl>
<dl class="text-center" id="fanBox" title="59">
<dt>粉丝</dt>
<dd><span class="count" id="fan">59</span></dd>
</dl>
<dl class="text-center" title="106">
<dt>喜欢</dt>
<dd><span class="count">106</span></dd>
</dl>
<dl class="text-center" title="30">
<dt>评论</dt>
<dd><span class="count">30</span></dd>
</dl>
</div>
<div class="grade-box clearfix">
<dl>
<dt>等级:</dt>
<dd>
<a href="https://blog.csdn.net/home/help.html#level" title="4级,点击查看等级说明" target="_blank">
<svg class="icon icon-level" aria-hidden="true">
<use xlink:href="#csdnc-bloglevel-4"></use>
</svg>
</a>
</dd>
</dl>
<dl>
<dt>访问:</dt>
<dd title="108394">
10万+ </dd>
</dl>
<dl>
<dt>积分:</dt>
<dd title="1765">
1765 </dd>
</dl>
<dl title="43679">
<dt>排名:</dt>
<dd>4万+</dd>
</dl>
</div>
<div class="badge-box d-flex">
<span>勋章:</span>
<div class="badge d-flex">
<div class="icon-badge" title="GitHub">
<div class="mouse-box">
<img src="https://g.csdnimg.cn/static/user-medal/github.svg" alt="">
<div class="icon-arrow"></div>
</div>
<div class="grade-detail-box">
<div class="pos-box">
<div class="left-box d-flex justify-content-center align-items-center flex-column">
<img src="https://g.csdnimg.cn/static/user-medal/github.svg" alt="">
<p>GitHub</p>
</div>
<div class="right-box">
绑定GitHub第三方账户获取 </div>
</div>
</div>
</div>
<div class="icon-badge" title="持之以恒">
<div class="mouse-box">
<img src="https://g.csdnimg.cn/static/user-medal/chizhiyiheng.svg" alt="">
<div class="icon-arrow"></div>
</div>
<div class="grade-detail-box">
<div class="pos-box">
<div class="left-box d-flex justify-content-center align-items-center flex-column">
<img src="https://g.csdnimg.cn/static/user-medal/chizhiyiheng.svg" alt="">
<p>持之以恒</p>
</div>
<div class="right-box">
授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累! </div>
</div>
</div>
</div>
<div class="icon-badge" title="勤写标兵Lv1">
<div class="mouse-box">
<img src="https://g.csdnimg.cn/static/user-medal/qinxiebiaobing_l1_t4.svg" alt="">
<div class="icon-arrow"></div>
</div>
<div class="grade-detail-box">
<div class="pos-box">
<div class="left-box d-flex justify-content-center align-items-center flex-column">
<img src="https://g.csdnimg.cn/static/user-medal/qinxiebiaobing_l1_t4.svg" alt="">
<p>勤写标兵Lv1</p>
</div>
<div class="right-box">
授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。 </div>
</div>
</div>
</div>
</div>
<script>
(function ($) {
setTimeout(function(){
$('div.icon-badge.show-moment').removeClass('show-moment');
}, 5000);
})(window.jQuery)
</script>
</div>
</div>
最新文章
分类专栏
归档
热门文章
-
<a href="https://blog.csdn.net/qq_38128179/article/details/84956552" > 什么是跨域?跨域解决方法 </a> <p class="read">阅读数 <span>22714</span></p> </li> <li> <a href="https://blog.csdn.net/qq_38128179/article/details/80794397" > display:none和visibility:hidden两者的区别 </a> <p class="read">阅读数 <span>15123</span></p> </li> <li> <a href="https://blog.csdn.net/qq_38128179/article/details/82799181" > HTML+JS 实现下载图片到本地 </a> <p class="read">阅读数 <span>12401</span></p> </li> <li> <a href="https://blog.csdn.net/qq_38128179/article/details/84661602" > 微信小程序操作dom元素节点 wx.createSelectorQuery() </a> <p class="read">阅读数 <span>9348</span></p> </li> <li> <a href="https://blog.csdn.net/qq_38128179/article/details/85161910" > 回到顶部的几种实现方法 </a> <p class="read">阅读数 <span>5524</span></p> </li> </ul> </div>
最新评论
-
点赞 取消点赞
11
<link rel="stylesheet" href="https://csdnimg.cn/release/blog_editor_html/release1.4.6/ckeditor/plugins/chart/chart.css" />
<script type="text/javascript" src="https://csdnimg.cn/release/blog_editor_html/release1.4.6/ckeditor/plugins/chart/lib/chart.min.js"></script>
<script type="text/javascript" src="https://csdnimg.cn/release/blog_editor_html/release1.4.6/ckeditor/plugins/chart/widget2chart.js"></script>
<link rel="stylesheet" href="https://csdnimg.cn/release/blog_editor_html/release1.4.6/ckeditor/plugins/codesnippet/lib/highlight/styles/atom-one-dark.css">
<script type="text/javascript" src="https://csdnimg.cn/release/phoenix/production/pc_wap_common-af7152d3f1.js" /></script>
<script src="https://csdnimg.cn/release/phoenix/themes/skin-yellow/skin-yellow-fc7383b956.min.js"></script>
<script src="//g.csdnimg.cn/baidu-search/1.0.2/baidu-search.js" type="text/javascript"></script>
qq_43796976:一个项目中跑两个子项目,ip,端口都是同一个,都是HTTP协议,算跨域吗
ieen_csdn:同步等待,异步调用; 阻塞,非阻塞,调用等待过程是否可以处理其他操作 拨开云雾
Java_Twinkle:异步调用期间可以做其他的事啊
zj00zj00zj00:赞一个
qq_33994566:程序员界的一股清流。看着是真馋啊