浅析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 可阅读随机字符串代码
May 26 PHP
Android ProgressBar进度条和ProgressDialog进度框的展示DEMO
Jun 19 PHP
PHP FTP操作类代码( 上传、拷贝、移动、删除文件/创建目录)
May 10 PHP
PHP中使用虚代理实现延迟加载技术
Nov 05 PHP
PHP实现的简单三角形、矩形周长面积计算器分享
Nov 18 PHP
PHP记录搜索引擎蜘蛛访问网站足迹的方法
Apr 15 PHP
php实现将wav文件转换成图像文件并在页面中显示的方法
Apr 21 PHP
常用PHP数组排序函数归纳
Aug 08 PHP
PHP基于单例模式编写PDO类的方法
Sep 13 PHP
php array_map使用自定义的函数处理数组中的每个值
Oct 26 PHP
支付宝支付开发――当面付条码支付和扫码支付实例
Nov 04 PHP
TP(thinkPHP)框架多层控制器和多级控制器的使用示例
Jun 13 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
简单实用的.net DataTable导出Execl
2013/10/28 PHP
PHPStudy下如何为Apache安装SSL证书的方法步骤
2019/01/23 PHP
PHP如何将图片文件上传到另外一台服务器上
2019/08/26 PHP
laravel 判断查询数据库返回值的例子
2019/10/11 PHP
超级简单的图片防盗(HTML),好用
2007/04/08 Javascript
JavaScript闭包实例讲解
2014/04/22 Javascript
Bootstrap每天必学之前端开发框架
2015/11/19 Javascript
JS常用加密编码与算法实例总结
2016/12/22 Javascript
JS简单获取当前日期和农历日期的方法
2017/04/17 Javascript
node.js基础知识小结
2018/02/26 Javascript
Vue 父子组件的数据传递、修改和更新方法
2018/03/01 Javascript
jQuery中复合选择器简单用法示例
2018/03/31 jQuery
node.js使用免费的阿里云ip查询获取ip所在地【推荐】
2018/09/03 Javascript
详解JavaScript 的变量
2019/03/08 Javascript
原生js代码能实现call和bind吗
2019/07/31 Javascript
Vue 中 filter 与 computed 的区别与用法解析
2019/11/21 Javascript
在weex中愉快的使用scss的方法步骤
2020/01/02 Javascript
[01:55]2014DOTA2国际邀请赛 BBC正赛第一天总结
2014/07/10 DOTA
python使用自定义user-agent抓取网页的方法
2015/04/15 Python
举例讲解Python的lambda语句声明匿名函数的用法
2016/07/01 Python
python解决网站的反爬虫策略总结
2016/10/26 Python
Python openpyxl 遍历所有sheet 查找特定字符串的方法
2018/12/10 Python
python 实现波浪滤镜特效
2020/12/02 Python
python语言time库和datetime库基本使用详解
2020/12/25 Python
Smashbox官网:美国知名彩妆品牌
2017/01/05 全球购物
英国领先的品牌珠宝和配件供应商:Acotis Jewellery
2018/03/07 全球购物
Gucci法国官方网站:意大利奢侈品牌
2018/07/25 全球购物
HashMap和Hashtable的区别
2013/05/18 面试题
销售员岗位职责
2014/06/09 职场文书
流动人口婚育证明范本
2014/09/26 职场文书
预备党员期盼十八届四中全会召开思想汇报
2014/10/17 职场文书
2014年扶贫工作总结
2014/11/18 职场文书
单位接收函格式
2015/01/30 职场文书
三下乡个人总结
2015/03/04 职场文书
保护地球的宣传语
2015/07/13 职场文书
box-shadow单边阴影的实现
2023/05/21 HTML / CSS