浅析php中jsonp的跨域实例


Posted in PHP onJune 21, 2013

我们现在www.test.com这个域名下面有这么个html文件testjsonp.html:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" >
 <head>
     <title>Untitled Page</title>
      <script type="text/javascript" src="jquery-1.7.2.min.js"></script>
      <script type="text/javascript">
     jQuery(document).ready(function(){ 
        $.ajax({
             type: "GET",
             async: false,
             //url: "http://test/jsonp.php",
             url:"http://mytaobao.com/jsonp.php",
             dataType: "jsonp",
             jsonp: "callback",//传递给请求处理程序或页面的,用以获得jsonp回调函数名的参数名(一般默认为:callback)
             jsonpCallback:"flightHandler",//自定义的jsonp回调函数名称,默认为jQuery自动生成的随机函数名,也可以写"?",jQuery会自动为你处理数据
             success: function(json){
                 alert('您查询到航班信息:票价: ' + json.price + ' 元,余票: ' + json.tickets + ' 张。回调函数名为: '+json.func);
             },
             error: function(){
                 alert("fail");
             }
         });
     });
     </script>
     </head>
  <body>
  </body>
 </html>

注意,要真正运行上面的代码可能需要jquery的文件,你可以将<script type="text/javascript" src="jquery-1.7.2.min.js"></script>改为你目录中jquery的文件路径:
如:<script type="text/javascript" src="js/jquery.js"></script>
然后,你可以再找个另外一个域名的web目录,将文件jsonp.php:
<?php
$callback = $_GET["callback"];
$a = array(
 'code'=>'CA1998',
    'price'=>'6000',
    'tickets'=>20,
    'func'=>$callback,
);
$result = json_encode($a);
echo "flightHandler($result)";
exit;

放到这个目录下面去。这样就可以测试了。
直接在浏览器访问testjsonp.html.就可以看到效果了。
PHP 相关文章推荐
用php实现像JSP,ASP里Application那样的全局变量
Jan 12 PHP
php实现的在线人员函数库
Apr 09 PHP
php表单转换textarea换行符的方法
Sep 10 PHP
php魔术方法与魔术变量、内置方法与内置变量的深入分析
Jun 03 PHP
php获取操作系统语言代码
Nov 04 PHP
php中apc缓存使用示例
Dec 25 PHP
PHP实现服务器状态监控的方法
Dec 09 PHP
PHP使用正则表达式获取微博中的话题和对象名
Jul 18 PHP
PHP获取中国时间(上海时区时间)及美国时间的方法
Feb 23 PHP
thinkPHP+phpexcel实现excel报表输出功能示例
Jun 06 PHP
php实现获取农历(阴历)、节日、节气的类与用法示例
Nov 20 PHP
PHP基于pdo的数据库操作类【可支持mysql、sqlserver及oracle】
May 21 PHP
解析php中array_merge与array+array的区别
Jun 21 #PHP
邮箱正则表达式实现代码(针对php)
Jun 21 #PHP
关于查看MSSQL 数据库 用户每个表 占用的空间大小
Jun 21 #PHP
php输出echo、print、print_r、printf、sprintf、var_dump的区别比较
Jun 21 #PHP
Function eregi is deprecated (解决方法)
Jun 21 #PHP
解析php中获取url与物理路径的总结
Jun 21 #PHP
解析php函数method_exists()与is_callable()的区别
Jun 21 #PHP
You might like
php使用cookie保存登录用户名的方法
2015/01/26 PHP
php实现字符串首字母转换成大写的方法
2015/03/17 PHP
Thinkphp框架中D方法与M方法的区别
2016/12/23 PHP
自制PHP框架之路由与控制器
2017/05/07 PHP
thinkPHP框架实现类似java过滤器的简单方法示例
2018/09/05 PHP
php成功操作redis cluster集群的实例教程
2019/01/13 PHP
PHP Web表单生成器案例分析
2020/06/02 PHP
JS Map 和 List 的简单实现代码
2013/07/08 Javascript
Eclipse下jQuery文件报错出现错误提示红叉
2014/01/13 Javascript
js使用post 方式打开新窗口
2015/02/26 Javascript
jQuery实现DIV层收缩展开的方法
2015/02/27 Javascript
JavaScript设计模式初探
2016/01/07 Javascript
Javascript动画效果(4)
2016/10/11 Javascript
JS基于递归实现倒计时效果的方法
2016/11/26 Javascript
AngularJS过滤器filter用法分析
2016/12/11 Javascript
jQuery向webApi提交post json数据
2017/01/16 Javascript
React.Js添加与删除onScroll事件的方法详解
2017/11/03 Javascript
css和js实现弹出登录居中界面完整代码
2017/11/26 Javascript
layui实现三级导航菜单
2019/07/26 Javascript
Python实例之wxpython中Frame使用方法
2014/06/09 Python
Python原始字符串(raw strings)用法实例
2014/10/13 Python
Python、Javascript中的闭包比较
2015/02/04 Python
详解Django中的form库的使用
2015/07/18 Python
对Python闭包与延迟绑定的方法详解
2019/01/07 Python
Python使用py2neo操作图数据库neo4j的方法详解
2020/01/13 Python
Python实现在Windows平台修改文件属性
2020/03/05 Python
tensorflow安装成功import tensorflow 出现问题
2020/04/16 Python
python 实现读取csv数据,分类求和 再写进 csv
2020/05/18 Python
keras分类模型中的输入数据与标签的维度实例
2020/07/03 Python
python中np是做什么的
2020/07/21 Python
13个Pandas实用技巧,助你提高开发效率
2020/08/19 Python
HTML5 Web Database 数据库的SQL语句的使用方法
2012/12/09 HTML / CSS
假日旅行社实习自我鉴定
2013/09/24 职场文书
服装设计行业个人的自我评价
2013/12/20 职场文书
教师教学评估方案
2014/05/09 职场文书
计算机求职信
2014/07/02 职场文书