浅析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+Tidy-完美的XHTML纠错+过滤
Apr 10 PHP
php+javascript的日历控件
Nov 19 PHP
修改php.ini以达到屏蔽错误信息并记录日志
Jun 16 PHP
PHP设置进度条的方法
Jul 08 PHP
解决nginx不支持thinkphp中pathinfo的问题
Jul 21 PHP
PHP中使用GD库绘制折线图 折线统计图的绘制方法
Nov 09 PHP
LINUX下PHP程序实现WORD文件转化为PDF文件的方法
May 13 PHP
php中array_column函数简单实现方法
Jul 11 PHP
php添加数据到xml文件的简单例子
Sep 08 PHP
详解PHP文件的自动加载(autoloading)
Feb 04 PHP
PHP简单实现解析xml为数组的方法
May 02 PHP
浅析PHP echo 和 print 语句
Jun 30 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
全局记录程序片段的运行时间 正确找到程序逻辑耗时多的断点
2011/01/06 PHP
PHP中文分词的简单实现代码分享
2011/07/17 PHP
php防止sql注入代码实例
2013/12/18 PHP
php使用explode()函数将字符串拆分成数组的方法
2015/02/17 PHP
Windows下wamp php单元测试工具PHPUnit安装及生成日志文件配置方法
2018/05/28 PHP
php插入mysql数据返回id的方法
2018/05/31 PHP
仿163填写邮件地址自动显示下拉(无优化)
2008/11/05 Javascript
javascript打开新窗口同时关闭旧窗口
2009/01/16 Javascript
理解Javascript_03_javascript全局观
2010/10/11 Javascript
javascript 密码框防止用户粘贴和复制的实现代码
2014/02/17 Javascript
Python脚本后台运行的几种方式
2015/03/09 Javascript
jQuery鼠标悬浮链接弹出跟随图片实例代码
2016/01/08 Javascript
浅谈Angular2 ng-content 指令在组件中嵌入内容
2017/08/18 Javascript
webpack打包react项目的实现方法
2018/06/21 Javascript
Webpack4 使用Babel处理ES6语法的方法示例
2019/03/07 Javascript
js实现课堂随机点名系统
2019/11/21 Javascript
简单了解常用的JavaScript 库
2020/07/16 Javascript
[01:34]DAC2018主赛事第四日五佳镜头 Gh巨牙海民助Miracle-死里逃生
2018/04/07 DOTA
用Python输出一个杨辉三角的例子
2014/06/13 Python
python实现的简单FTP上传下载文件实例
2015/06/30 Python
Python文件操作,open读写文件,追加文本内容实例
2016/12/14 Python
Python基于win32ui模块创建弹出式菜单示例
2018/05/09 Python
Python类中的魔法方法之 __slots__原理解析
2019/08/26 Python
Python使用urlretrieve实现直接远程下载图片的示例代码
2020/08/17 Python
Python 实现进度条的六种方式
2021/01/06 Python
CSS3中的opacity属性使用教程
2015/08/19 HTML / CSS
毕业自我评价范文
2013/11/17 职场文书
业绩考核岗位职责
2014/02/01 职场文书
经济信息系毕业生自荐信
2014/06/02 职场文书
考试作弊检讨书
2014/10/21 职场文书
免职证明样本
2014/10/23 职场文书
幼儿园感恩节活动总结
2015/03/24 职场文书
监守自盗观后感
2015/06/10 职场文书
个人落户申请书怎么写?
2019/06/28 职场文书
vue+echarts实现多条折线图
2022/03/21 Vue.js
从结婚开始的恋爱故事。小说《我的美好婚事》TV动画化决定
2022/04/07 日漫