同源及跨域
同源
同源策略是浏览器的一种安全策略,所谓同源是指,域名,协议,端口完全相同。
跨域方案
顶级域名相同的可以通过domain.name来解决,即同时设置 domain.name = 顶级域名(如example.com)
document.domain + iframe
window.name + iframe
location.hash + iframe
window.postMessage()
更全的解决方案可以查看这里:跨域最全解决方案
JSONP
JSON with Padding其本质是利用了标签具有可跨域的特性,由服务端返回一个预先定义好的Javascript函数的调用,并且将服务器数据以该函数参数的形式传递过来,此方法需要前后端配合完成。
只能以GET方式请求
$callBack = $_GET['callback'];
$arr = array(
'name' =>'xiaoming' ,
'color' =>'red'
);
echo $callBack."(".json_encode($arr).")";
?>
```html
//注意,域名不同
//核心是 通过script标签的src属性提交get请求
Documentfunction fn(data){
console.log(data