今天来说一说js跨域那五毛钱的事。首先,在了解跨域之前,我们来知道什么是同源策略?
概念:同源策略是客户端脚本(尤其是Javascript)的重要的安全度量标准。它最早出自Netscape Navigator2.0,其目的是防止某个文档或脚本从多个不同源装载。这里的同源策略指的是:协议,域名,端口相同,同源策略是一种安全协议。指一段脚本只能读取来自同一来源的窗口和文档的属性。
那么跨域的概念的就显而易见:只要协议、域名、端口有任何一个不同,都被当作是不同的域。
JSONP跨域(get方式请求)
通过引入不同域url的js脚本文件(script标签的src属性),并且在请求url后面传递一个callback参数指定回调函数的函数名,且服务端将要返回的json数据参数形式传入客户端指定的回调函数之中,js文件执行的时候,负责调用回调函数。例如:1
2
3
4
5
6<script>
function dosomething(jsondata){
//获得后台返回会json数据
}
</script>
<script src="http://www.example.com/data.php?callback=dosomething"></script>