浅析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伪静态页面函数附使用方法
Jun 20 PHP
php中模拟POST传递数据的两种方法分享
Sep 16 PHP
php 无法加载mcrypt.dll的解决办法
Apr 03 PHP
解析如何在PHP下载文件名中解决乱码的问题
Jun 20 PHP
一漂亮的PHP图片验证码实例
Mar 21 PHP
smarty模板判断数组为空的方法
Jun 10 PHP
PHP设计模式之简单投诉页面实例
Feb 24 PHP
Zend Framework数据库操作技巧总结
Feb 18 PHP
PHP redis实现超迷你全文检索
Mar 04 PHP
PHP实现上传多图即时显示与即时删除的方法
May 09 PHP
Laravel模型事件的实现原理详解
Mar 14 PHP
php中青蛙跳台阶的问题解决方法
Oct 14 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+jquery+ajax实现即时聊天功能实例
2014/12/23 PHP
PHP的swoole扩展安装方法详细教程
2016/05/18 PHP
php实现微信模板消息推送
2018/03/30 PHP
PHP防止sql注入小技巧之sql预处理原理与实现方法分析
2019/12/13 PHP
PHP队列场景以及实现代码实例详解
2021/02/26 PHP
HTML中不支持静态Expando的元素的问题
2007/03/08 Javascript
Highslide.js是一款基于js实现的网页中图片展示插件
2020/03/30 Javascript
jQuery 点击图片跳转上一张或下一张功能的实现代码
2010/03/12 Javascript
extjs中grid中嵌入动态combobox的应用
2011/01/01 Javascript
JS自动倒计时30秒后按钮才可用(两种场景)
2015/08/31 Javascript
详解JavaScript基于面向对象之继承
2015/12/13 Javascript
nodejs服务搭建教程 nodejs访问本地站点文件
2017/04/07 NodeJs
一个因@click.stop引发的bug的解决
2019/01/08 Javascript
在vue中根据光标的显示与消失实现下拉列表
2019/09/29 Javascript
JS 图片压缩原理与实现方法详解
2020/04/29 Javascript
[29:23]2014 DOTA2国际邀请赛中国区预选赛 LGD-GAMING VS CIS 第一场1
2014/05/23 DOTA
深入探究Python中变量的拷贝和作用域问题
2015/05/05 Python
Python使用logging结合decorator模式实现优化日志输出的方法
2016/04/16 Python
Python数据分析之双色球中蓝红球分析统计示例
2018/02/03 Python
selenium+python自动化测试之页面元素定位
2019/01/23 Python
python中使用while循环的实例
2019/08/05 Python
对python中的os.getpid()和os.fork()函数详解
2019/08/08 Python
python set集合使用方法解析
2019/11/05 Python
利用python实现逐步回归
2020/02/24 Python
Python 统计位数为偶数的数字代码详解
2020/03/15 Python
Python如何批量获取文件夹的大小并保存
2020/03/31 Python
万得城电器土耳其网站:欧洲第一大电子产品零售商
2016/10/07 全球购物
新西兰购物网站:TheMarket NZ
2020/09/19 全球购物
给护士表扬信
2014/01/19 职场文书
淘宝中秋节活动方案
2014/01/31 职场文书
申论倡议书范文
2014/05/13 职场文书
好的促销活动方案
2014/08/21 职场文书
医德考评自我评价
2014/09/14 职场文书
《我要的是葫芦》教学反思
2016/02/18 职场文书
JS代码编译器Monaco使用方法
2021/06/11 Javascript
如何使用python包中的sched事件调度器
2022/04/30 Python