浅析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 相关文章推荐
mysql时区问题
Mar 26 PHP
php mysql Errcode: 28 终极解决方法
Jul 01 PHP
从PHP的源码中深入了解stdClass类
Apr 18 PHP
typecho插件编写教程(六):调用接口
May 28 PHP
PHP使用自定义方法实现数组合并示例
Jul 07 PHP
PHP中利用sleep函数实现定时执行功能实现代码
Aug 25 PHP
php版微信支付api.mch.weixin.qq.com域名解析慢原因与解决方法
Oct 12 PHP
PHP面向对象程序设计之类与反射API详解
Dec 02 PHP
浅谈PHP错误类型及屏蔽方法
May 27 PHP
详解cookie验证的php应用的一种SSO解决办法
Oct 20 PHP
thinkPHP利用ajax异步上传图片并显示、删除的示例
Sep 26 PHP
PHP切割汉字的常用方法实例总结
Apr 27 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 多线程上下文中安全写文件实现代码
2009/12/28 PHP
php 批量替换程序的具体实现代码
2013/10/04 PHP
PHP合并静态文件详解
2014/11/14 PHP
PHP数据的提交与过滤基本操作实例详解
2016/11/11 PHP
php自定义扩展名获取函数示例
2016/12/12 PHP
PHP简单实现冒泡排序的方法
2016/12/26 PHP
网站被恶意镜像怎么办 php一段代码轻松搞定(全面版)
2018/10/23 PHP
yii2 开发api接口时优雅的处理全局异常的方法
2019/05/14 PHP
javascript知识点收藏
2007/02/22 Javascript
js 图片等比例缩放代码
2010/05/13 Javascript
高性能JavaScript模板引擎实现原理详解
2015/02/05 Javascript
React简单介绍
2017/05/24 Javascript
ES6中数组array新增方法实例总结
2017/11/07 Javascript
vue中的$emit 与$on父子组件与兄弟组件的之间通信方式
2018/05/13 Javascript
详解Jest结合Vue-test-utils使用的初步实践
2019/06/27 Javascript
js实现简单放大镜效果
2020/03/07 Javascript
Python实现带百分比的进度条
2016/06/28 Python
详解 Python中LEGB和闭包及装饰器
2017/08/03 Python
python如何查看微信消息撤回
2018/11/27 Python
python判断文件是否存在,不存在就创建一个的实例
2019/02/18 Python
pandas数据集的端到端处理
2019/02/18 Python
Python request操作步骤及代码实例
2020/04/13 Python
jupyter 使用Pillow包显示图像时inline显示方式
2020/04/24 Python
基于FME使用Python过程图解
2020/05/13 Python
python suds访问webservice服务实现
2020/06/26 Python
Html5监听手机摇一摇事件的实现
2019/11/07 HTML / CSS
Chinti & Parker官网:奢华羊绒女装和创新针织设计
2021/01/01 全球购物
浅谈react路由传参的几种方式
2021/03/23 Javascript
执行总经理岗位职责
2014/02/03 职场文书
人事部专员岗位职责
2014/03/04 职场文书
2015年效能监察工作总结
2015/04/23 职场文书
办公室年度工作总结2015
2015/05/21 职场文书
六一晚会主持词开场白
2015/05/28 职场文书
志愿者服务宣传标语口号
2015/12/26 职场文书
导游词之云南省玉龙雪山
2019/12/19 职场文书
Kubernetes控制节点的部署
2022/04/01 Servers