跨域:是浏览器不能执行其他网站的脚本 产生跨域的原因由浏览器的同源策略造成:
- 同域名(company.com),
- 同端口(:.html),
- 同协议(http https)
- 跨域解决方案1
- CORS跨域资源共享
- 服务端:header("Access-Control-Allow-Origin:*")
- 表示所有的域都可以接受
- 跨域解决方案2
- jsonp动态创建script标签,使用jQuery的jsonp请求
- 优点:兼容性强&不受同源策略的限制
- 缺点:只能用get方法,不能使用post方法
使用jsonp解决跨域
<script>
$.ajax({
url:"http://",
type:"get",
dataType:"jsonp",
jsonp:""//跨域请求的参数名,默认是callback
//修改callback名称,但是php中也要修改成相对应的函数名
jsonpCallback:'callBack',
指定jsonp发送的回调函数名(可以任意起名字,无需对应)
})
function callBack(res){
document.write(res);
}