127.0.0.1和localhost也不是一个域
注意:js不允许跨域调用其他页面的对象
方法1:代理(上海后台去北京后台拿数据给上海前端)
方法2:JSONP
- 解决主流浏览器的get跨域数据访问问题
- 把json包在jsonp函数中
步骤:
1.在jq的ajax中加入dataType:”jsonp“和jsonp:”arg0“
2.在php文件中,$_GET[]使用之前,加入$jsonp=$_GET[arg0](此处arg0应与步骤1的arg0对应)
3.php文件中返回的json对象改造为:jsonp.'({键值:参数,键值:参数})'
方法3:XHR2
- H5提供的XMLHttpRequest Level2
- ie10以下不支持
只需要在服务端+
header('Access-Control-Allow-Origin');
header('Access-Control-Allow-Methods:POST,GET');
(最好加上dataType,否则可能会出错)
附加:混合开发的跨域问题