跨域请求

Posted linxihuang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了跨域请求相关的知识,希望对你有一定的参考价值。


什么是JSONP —— 是一个非官方协议,约定发送请求的参数中如果包含指定的参数,默认为callback.即JSONP请求。
服务器发现是JSONP请求的时候,将返回值由原来的JSON对象改成js代码。
js代码的内容是函数调用的形式,它的函数名是callback的值,它的函数的参数是原先json对象。
由于浏览器同源策略,凡是发送请求url的协议、域名、端口三者之间任意一与当前页面地址不同即为跨域。浏览器的同源策略,出于防范跨站脚本的攻击,禁止客户端脚本(如 javascript)对不同域的服务进行跨站调用(通常指使用XMLHttpRequest请求)。

解决思路
1、浏览器可选择支持跨域。(浏览器可设置为支持跨域)
2、隐藏跨域 :使用代理。使用代理可分为浏览器使用代理还是服务器使用代理。

 JSONP的实现原理与工作机制如下图

技术分享图片

 

1、被调用方解决支持跨域,有三种方法:

1)服务端实现

2)NGNIX配置

3)APACHE配置

2、调用方解决支持跨域

 







以上是关于跨域请求的主要内容,如果未能解决你的问题,请参考以下文章

vue 跨域请求 怎么带上cookies

$http跨域请求怎么解决

请求腾讯地图webServiceAPI 跨域问题

xmpp js端跨域请求

跨域并设置headers的请求

请求接口时跨域问题,前端解决方法