jq跨域

166 阅读1分钟

跨域:是浏览器不能执行其他网站的脚本 产生跨域的原因由浏览器的同源策略造成:

  • 同域名(company.com),
  • 同端口(:.html),
  • 同协议(http https)

YK_TWV@7FH}61{%3N268KMG.png

  • 跨域解决方案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);
     }