浅析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_MySQL教程-第一天
Mar 18 PHP
php 分页类 扩展代码
Jun 11 PHP
PHP合并数组+与array_merge的区别分析
Aug 01 PHP
CodeIgniter上传图片成功的全部过程分享
Aug 12 PHP
destoon首页调用求购供应信息的地区名称的方法
Aug 21 PHP
在win7中搭建Linux+PHP 开发环境
Oct 08 PHP
php采集自中央气象台范围覆盖全国的天气预报代码实例
Jan 04 PHP
PHP.vs.JAVA
Apr 29 PHP
浅谈PHP Cookie处理函数
Jun 10 PHP
php利用云片网实现短信验证码功能的示例代码
Nov 18 PHP
Ajax+Jpgraph实现的动态折线图功能示例
Feb 11 PHP
php和nginx交互实例讲解
Sep 24 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 读取文件乱码问题
2010/02/20 PHP
PHP+MySQL统计该库中每个表的记录数并按递减顺序排列的方法
2016/02/15 PHP
php 使用html5 XHR2实现上传文件与进度显示功能示例
2020/03/03 PHP
event.srcElement+表格应用
2006/08/29 Javascript
15款优秀的jQuery导航菜单插件分享
2011/07/19 Javascript
extjs 初始化checkboxgroup值的代码
2011/09/21 Javascript
jquery 多行文本框(textarea)高度变化
2013/07/03 Javascript
使用jQuery中的when实现多个AJAX请求对应单个回调的例子分享
2014/04/23 Javascript
form.submit()不能提交表单的错误原因及解决方法
2014/10/13 Javascript
判断浏览器的内核及版本号方法汇总
2015/01/05 Javascript
JS判断客服QQ号在线还是离线状态的方法
2015/01/13 Javascript
Javascript实现检测客户端类型代码封包
2015/12/03 Javascript
Ajax分页插件Pagination从前台jQuery到后端java总结
2016/07/22 Javascript
AngularJs bootstrap搭载前台框架——基础页面
2016/09/01 Javascript
vue-router 中router-view不能渲染的解决方法
2017/05/23 Javascript
原生JS+CSS实现炫酷重力模拟弹跳系统的登录页面
2017/11/01 Javascript
简述Angular 5 快速入门
2017/11/04 Javascript
Angularjs之ngModel中的值验证绑定方法
2018/09/13 Javascript
JavaScript迭代器的含义及用法
2019/06/21 Javascript
独立部署小程序基于nodejs的服务器过程详解
2019/06/24 NodeJs
微信小程序地图实现展示线路
2020/07/29 Javascript
jQuery实现回到顶部效果
2020/10/19 jQuery
Python中Continue语句的用法的举例详解
2015/05/14 Python
Python中应该使用%还是format来格式化字符串
2018/09/25 Python
Python实现简单层次聚类算法以及可视化
2019/03/18 Python
如何使用Python 打印各种三角形
2019/06/28 Python
Python with语句和过程抽取思想
2019/12/23 Python
CSS3近阶段篇之酷炫的3D旋转透视
2016/04/28 HTML / CSS
Troy-Bilt官网:草坪割草机、吹雪机、分蘖机等
2019/02/19 全球购物
linux面试题参考答案(5)
2016/11/05 面试题
初中三年毕业生的自我评价分享
2014/02/14 职场文书
大学生个人自荐信样本
2014/03/02 职场文书
运动员口号
2014/06/09 职场文书
2014法院干警廉洁警示教育思想汇报
2014/09/13 职场文书
提取视频中的音频 Python只需要三行代码!
2021/05/10 Python
pandas时间序列之pd.to_datetime()的实现
2022/06/16 Python