-
Jsonp 与 CORS跨域方式的区别
-
CORS方法更好一些,但是需要对服务器有自主权。JSONP则不需要对服务器有自主权,可以通过script、img等标签可以发送GET请求的特点,通过回调函数执行已有的JS函数。在函数内获取返回值。
-
CORS支持所有HTTP请求,JSONP只支持GET请求。
-
-
使用js实现跨域,利用jsonp方式
1 /* 客户端用回调函数跨域 */ 2 <script type="text/javascript" src="http://localhost/async/cors.php?callback=go"></script> 3 /* 设置回调函数接受 request data */ 4 function go (data) { 5 console.log(data) // 显示回调的值 | {a:"1"} 6 } 7 ? 8 /* 服务器端 response and work */ 9 <?php 10 $go=$_GET[‘callback‘]; // 获取callback的值 11 echo $go.‘({a:"1"})‘; // 输出回调函数 12 ?>
-
php利用header函数配置CORS,利用CORS(Cross-origin resource sharing )方式实现跨域
<?php header("Access-Control-Allow-Origin:*"); // *号为允许所有域名,推荐修改成需要跨域的域名