跨域

什么是跨域?什么是不跨域?
上没有过多的去测试,一句话:同一个ip、同一个网络协议、同一个端口,三者都满足就是同一个域,否则就是
跨域问题了。而为什么开发者最初不直接定为一切可跨域的呢?默认的为什么都是不可跨域呢?这就涉及到了同源策
略,为了系统的安全,由Netscape提出一个著名的安全策略。现在所有支持JavaScript的浏览器都会使用这个策略。
所谓同源是,域名,协议,端口相同。当我们在浏览器中打开百度和谷歌两个网站时,百度浏览器在执行一个脚本的
时候会检查这个脚本属于哪个页面的,即检查是否同源,只有和百度同源的脚本才会被执行,如果没有同源策略,那
随便的向百度中注入一个js脚本,弹个恶意广告,通过js窃取信息,这就很不安全了。
跨域问题如何解决
1、用HttpClient请求url
2、使用jsonp的方式


IE8下出现的问题,chrome正常,找到了这篇文章

http://www.cnblogs.com/Curious/p/3423275.html
//之前没有加这句老是提示no transport,我没去深想。

   jQuery.support.cors = true;
$.ajax
({

        type: "POST",
        contentType: "application/x-www-form-urlencoded",
        dataType: "html",
        url: "http://www.*****.com",  //这里是网址
        success:function(data){alert(data);},
        timeout:30000, 
        error: function (XMLHttpRequest, textStatus, errorThrown) {
        alert(errorThrown);
        }
    });

jquery.support.cors只是对CORS协议的一种实现,具体可以看jQuery的源代码,这里不多说。

附上几个很好的参考资料:
http://newhtml.net/using-cors/

http://www.kimhou.com/?p=222

posted @ 2016-12-14 16:33  陆陆通通  阅读(97)  评论(0编辑  收藏  举报