跨域请求
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、调用方解决支持跨域
以上是关于跨域请求的主要内容,如果未能解决你的问题,请参考以下文章