1 / 17
文档名称:

JS跨域请求解决方案.docx

格式:docx   大小:123KB   页数:17页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

JS跨域请求解决方案.docx

上传人:科技星球 2022/3/7 文件大小:123 KB

下载得到文件列表

JS跨域请求解决方案.docx

文档介绍

文档介绍:JS跨域请求解决方案
 
   
 
 
 
 
 
 
 
     
 
 
 
 
 
什么是跨域
跨域是指一个域下的文档或脚本试图去请求另一个域下的资源,这里跨域是广义的。
广义的跨域:
data: {}
});
3.):
this.$(':8080/login', {
params: {},
jsonp: 'onBack'
}).then((res) => {
(res);
})
后端实现

var querystring = require('querystring');
var http = require('http');
var server = ();
('request', function(req, res) {
var params = (('?')[1]);
var fn = ;
// jsonp返回设置
(200, { 'Content-Type': 'text/javascript' });
(fn + '(' + (params) + ')');
();
});
('8080');
('Server is running at port 8080...');
(2) 子域不同跨域
+ iframe跨域
此方案仅限主域相同,子域不同的跨域应用场景。
实现原理:,就实现了同域。
1.)父窗口:())
<iframe id="iframe" src=""></iframe>
<script>
= '';
var user = 'admin';
</script>
2.)子窗口:())
<script>
= '';
// 获取父窗口中变量
alert('get js data from parent ---> ' + );
</script>
(3) + iframe跨域
实现原理: a欲与b跨域相互通信,通过中间页c来实现。 三个页面,,相同域之间直接js访问来通信。
具体实现:A域: -> B域: -> A域:,a与b不同域只能通过hash值单向通信,b与c也不同域也只能单向通信,但c与a同域,。
1.):())
<iframe id="iframe" src="" style="display:none;"></iframe>
<script>
var iframe = ('iframe');
//
setTimeout(function() {
= + '#user=admin';
}, 1000);

//
function onCallback(res) {
alert('data from ---> ' + res);
}
</script>
2.):())
<iframe id="iframe" src="