同源策略
如果两个页面的协议,域名,端口相同,那么两个页面具有相同的源。
浏览器提供的一个安全功能。
跨域
出现跨域的根本原因是因为浏览器的同源策略不允许非同源的URL进行资源交互。 两种解决方式:JSONP(只能支持GET请求不支持POST请求)和CORS(W3C标准)
JSONP
实现原理:由于网页会拦截Ajax发出的非同源请求,但是标签不受浏览器同源策略的影响,可以通过src属性,请求非同源的js脚本。并通过函数调用形式接受跨域接口相应回来的数据。
JSONP和Ajax之间没有任何关系,不能把JSONP请求数据方式叫做Ajax,因为JSONP没有用到XMLHttpRequest这个对象。