浅析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 15 PHP
Zend Studio 无法启动的问题解决方法
Dec 04 PHP
php mssql 数据库分页SQL语句
Dec 16 PHP
PHP strtotime函数详解
Dec 18 PHP
php中实现用数组妩媚地生成要执行的sql语句
Jul 10 PHP
orm获取关联表里的属性值
Apr 17 PHP
PHP+Apache+Mysql环境搭建教程
Aug 01 PHP
php、mysql查询当天,查询本周,查询本月的数据实例(字段是时间戳)
Feb 04 PHP
AJAX的使用方法详解
Apr 29 PHP
php格式文件打开的四种方法
Feb 24 PHP
PHP Post获取不到非表单数据的问题解决办法
Feb 27 PHP
PHP生成腾讯云COS接口需要的请求签名
May 20 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模板类代码
2008/09/07 PHP
通用PHP动态生成静态HTML网页的代码
2010/03/04 PHP
项目中应用Redis+Php的场景
2016/05/22 PHP
php使用str_replace替换多维数组的实现方法分析
2017/06/15 PHP
PHP文件管理之实现网盘及压缩包的功能操作
2017/09/20 PHP
为数据添加append,remove功能
2006/10/03 Javascript
js 格式化时间日期函数小结
2010/03/20 Javascript
js封装的textarea操作方法集合(兼容很好)
2010/11/16 Javascript
基于jQuery的试卷自动排版系统实现代码
2011/01/06 Javascript
jQuery.query.js 取参数的两点问题分析
2012/08/06 Javascript
实现checkbox全选、反选、取消JavaScript小脚本异常
2014/04/10 Javascript
EasyUI闪屏EasyUI页面加载提示(原理+代码+效果图)
2016/02/21 Javascript
Javascript this 函数深入详解
2016/12/13 Javascript
使用vue.js写一个tab选项卡效果
2017/03/25 Javascript
Vue filters过滤器的使用方法
2017/07/14 Javascript
为什么要使用Vuex的介绍
2019/01/19 Javascript
微信小程序选择图片控件
2021/01/19 Javascript
深入解析Python中的__builtins__内建对象
2016/06/21 Python
Appium+python自动化怎么查看程序所占端口号和IP
2019/06/14 Python
python各类经纬度转换的实例代码
2019/08/08 Python
python提取照片坐标信息的实例代码
2019/08/14 Python
Python面向对象之私有属性和私有方法应用案例分析
2019/12/31 Python
python实现按日期归档文件
2021/01/30 Python
美国折扣网站:jClub
2017/08/07 全球购物
世界上最好的足球商店:Unisport
2019/03/02 全球购物
俄罗斯Sportmarket体育在线商店:用于旅游和户外活动
2019/11/12 全球购物
营业员个人总结的自我评价
2013/10/25 职场文书
会计毕业生自荐信
2013/11/21 职场文书
《雾凇》教学反思
2014/02/17 职场文书
公司投资建议书
2014/05/16 职场文书
民事诉讼授权委托书范文
2014/08/02 职场文书
学校教学管理制度
2015/08/06 职场文书
继续教育心得体会(共6篇)
2016/01/19 职场文书
保安辞职申请书应该怎么写?
2019/07/15 职场文书
关于拾金不昧的感谢信(五篇)
2019/10/18 职场文书
浅析Python中的套接字编程
2021/06/22 Python