1.就是跨域名,跨端口,跨协议javascript
例如:若是有两个服务器,服务器A和服务器B,服务器A上存储了php数据,script,甚至是css这些文件,而你在服务器B上只写了html,而后你所在的服务器B上动态建立script,css,php数据(使用ajax请求),向服务器A上请求你想要的script,css,php数请求据(使用ajax)这些文件,请求这些文件后,你再在服务器B上运行你的html,虽然你的地址是在服务器B上,可是你仍是能够运行效果与在服务器A上运行的效果是同样的,这样就是跨域名,跨端口,跨协议,实现了跨域。php
简单来讲,就是你请求的文件,只要含有“src”,“href”这些属性,你就能在其余服务器上,请求你所须要的文件,而后在本身的服务器上运行,就实现了跨域(跨域名,跨端口,跨协议)。css
原生的动态请求script文件 html
var _script = document.createElement("script");
_script.src="http://10.9.156.108/html5/Ajax/api/sendMessage.php?user="+_user+"message="+_message;
_script.type="text/javascript";html5
jQuery跨域请求script文件java
$(document).ready(function(){
//getJSON 后面带参数,若是不带参数默认不跨域 ,带了参数跨域ajax
//跨域优先
$.<link rel="icon" href="../img/favicon.ico" type="image/x-icon">("http://10.9.156.108/HTML5/lesson24/test.js?callback=?",[data],function(){});json
//跨域 有getJSON 和 jsonp 两种方式
$.get("http://10.9.156.108/HTML5/lesson24/test.js=",null,function(){},"jsonp");
});api
1.就是同域名,同端口,同协议跨域
例如:若是你有一个服务器A,你所须要的script,css,php文件都在服务器A,你写的html也在服务器A上,而后运行,出现了效果,若是你想在另外一台电脑上运行你的项目(注意另外一台电脑不管有没有开启服务器,效果仍是会显示出来的),只要把你写在服务器A上的协议,域名,端口以及你的项目名称复制下来,在另外一台电脑上运行,一样会出现相同的效果,这就实现了同源。
简单来讲,就是你的协议,域名,端口甚至项目名称都同样,不一样电脑都能实现一样的效果。
什么是协议,域名,端口?
解释:假如一个网址是 http://baidu.com:8080?user=name&pwd=password
http:// 是协议
baidu.com 是域名(注意:前面加上“wwww”即www.baidu.com不是域名)
8080 是端口
user=name&pwd=password 是地址带的参数