除JSONP以外的跨域方式
为什么要制定同源策略呢?因为在没有同源策略的情况下,A 网站可以被任意其他来源的 Ajax 访问到内容。如果你当前 A 网站还存在登录态,那么对方就可以通过 Ajax 获得你的任何信息。
而在跨域的情况下,可以阻止用户读取到另一个域名下的内容,但是跨域并不能完全阻止CSRF,因为请求还是发送出去了,也能够获取响应,知识浏览器认为这个响应不安全,把它给拦截了。
除了前端最常用的JSONP
还有浏览器和后端同时配合实现的CORS:浏览器会自动进行 CORS 通信,实现 CORS 通信的关键是后端。只要后端实现了 CORS,就实现了跨域。
后端通过设置Access-Control-Allow-Origin 就可以开启 CORS