首页 > 代码库 > jsonp跨域

jsonp跨域

参考资料:http://www.cnblogs.com/chopper/archive/2012/03/24/2403945.html

测试依赖条件:
项目eetopinOfficial 在hosts绑定 www.eetopin.com域名
项目sns 在hosts绑定sns.com域名
测试代码文件及源码:
eetopinOfficial/testCookie.php
Java代码  收藏代码
  1. <?php  
  2.   
  3. header(‘Content-type: application/json‘);  
  4. //获取回调函数名  
  5. $callback = $_GET [‘callback‘];  
  6. $value = $_GET[‘name‘];  
  7.   
  8. //setcookie("name", "", time() - 3600);  
  9. setcookie(‘name‘, $value, time()+3600*24*30‘/‘,‘.eetopin.com‘, $_SERVER[‘SERVER_PORT‘]==443?1:0);  
  10.   
  11. $json = "{\"name\":\"add cookie success $callback $value\"}";  
  12. echo $callback . "(" . $json . ")";  

eetopinOfficial/testJsonp.php
Java代码  收藏代码
  1. <?php  
  2. header(‘Content-type: application/json‘);  
  3. //获取回调函数名  
  4. $callback = $_REQUEST [‘callback‘];  
  5.   
  6. if (isset($_COOKIE["name"])){  
  7.     $name =  $_COOKIE["name"];  
  8. }else{  
  9.  $name = "chopper";  
  10. }  
  11.   
  12. //json数据  
  13. $json = "{\"name\":\"$name\",\"sex\":\"man\"}";  
  14.   
  15. //echo $json;  
  16. //echo $callback;  
  17.   
  18. //输出:回调函数名(json数据)             
  19. echo $callback . "(" . $json . ")";  
  20.   
  21. //echo $callback ."($json)";  


sns/testCookie.php
Java代码  收藏代码
  1. <script type="text/javascript" src=http://www.mamicode.com/"http://code.jquery.com/jquery-latest.js"></script>  
  2. <script type="text/javascript">  
  3.     $.getJSON("http://www.eetopin.com/testCookie.php?name=lunzi30108&callback=?",function(data){  
  4.         alert(data.name);  
  5.     });  
  6. </script>  

sns/testJsonp.php
Java代码  收藏代码
  1. <script type="text/javascript" src=http://www.mamicode.com/"http://code.jquery.com/jquery-latest.js"></script>  
  2. <script type="text/javascript">  
  3.     $.getJSON("http://www.eetopin.com/testJsonp.php?callback=?",function(data){  
  4.         alert(data.name + " is a a" + data.sex);  
  5.     });  
  6. </script>  

测试步骤:
1、http://sns.com/testCookie.php
2、http://sns.com/testJsonp.php