ajax跨域的方法—jsonp和CROS
程序员文章站
2022-04-20 17:14:04
...
以前只知道要解决ajax跨域只能通过jsonp的方式来解决,在最近做视频本地上传时,需要上传视频到优酷和youtube,如果直接通过post方法传,只能在浏览器下方看到上传进度,用户体验很不好,如果用ajax上传则可以自定义上传进度和显示上传速度,但是由于上传到第三方视频服务商,遇到的第一个问题就是跨域。
CORS正好可以解决这个问题。
CORS与JSONP相比,无疑更为先进、方便和可靠。
1、 JSONP只能实现GET请求,而CORS支持所有类型的HTTP请求。
2、 使用CORS,开发者可以使用普通的XMLHttpRequest发起请求和获得数据,比起JSONP有更好的错误处理。
3、 JSONP主要被老的浏览器支持,它们往往不支持CORS,而绝大多数现代浏览器都已经支持了CORS。
PHP中: header(””Access-Control-Allow-Origin: *””);
html中: <meta http-equiv=”Access-Control-Allow-Origin” content=”*”>
如果CORS中包含了302跳转,则需要302跳转之后的网址也包含CORS的header请求。
目前IE8以上和其他主流浏览器都已经支持了CORS跨域,相信这个技术未来会非常实用。