浅析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安全配置
Oct 09 PHP
Bo-Blog专用的给Windows服务器的IIS Rewrite程序
Aug 26 PHP
php 什么是PEAR?(第三篇)
Mar 19 PHP
PHP 中关于ord($str)&amp;gt;0x80的详细说明
Sep 23 PHP
set_include_path和get_include_path使用及注意事项
Feb 02 PHP
php-cli简介(不会Shell语言一样用Shell)
Jun 03 PHP
PHP中soap的用法实例
Oct 24 PHP
php中常见的sql攻击正则表达式汇总
Nov 06 PHP
PHP Streams(流)详细介绍及使用
May 12 PHP
php编写批量生成不重复的卡号密码代码
May 14 PHP
php文件读取方法实例分析
Jun 20 PHP
PHP 加密 Password Hashing API基础知识点
Mar 02 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的分页功能
2007/03/21 PHP
一个简单的网页密码登陆php代码
2012/07/17 PHP
简单的php数据库操作类代码(增,删,改,查)
2013/04/08 PHP
php获取当前月与上个月月初及月末时间戳的方法
2016/12/05 PHP
详解yii2使用多个数据库的案例
2017/06/16 PHP
php 比较获取两个数组相同和不同元素的例子(交集和差集)
2019/10/18 PHP
浅谈Laravel模板实体转义带来的坑
2019/10/22 PHP
PHP基于phpqrcode类生成二维码的方法示例详解
2020/08/07 PHP
图片自动更新(说明)
2006/10/02 Javascript
js 判断浏览器类型 去全角、半角空格 自动关闭当前窗口
2009/04/10 Javascript
JavaScript 异步调用框架 (Part 4 - 链式调用)
2009/08/04 Javascript
jQuery chili图片远处放大插件
2009/11/30 Javascript
将文本输入框内容加入表中的js代码
2013/08/18 Javascript
Jquery全屏相册插件zoomvisualizer具有调节放大与缩小功能
2015/11/02 Javascript
jQuery动态加载css文件实现方法
2016/06/15 Javascript
Angular2 PrimeNG分页模块学习
2017/01/14 Javascript
解决OneThink中无法异步提交kindeditor文本框中修改后的内容方法
2017/05/05 Javascript
JS实现点击链接切换显示隐藏内容的方法
2017/10/19 Javascript
详解浏览器缓存和webpack缓存配置
2018/07/06 Javascript
Vue混入mixins滚动触底的方法
2019/11/22 Javascript
js加减乘除精确运算方法实例代码
2021/01/17 Javascript
[04:03]辉夜杯主赛事 12月25日RECAP精彩回顾
2015/12/26 DOTA
从头学Python之编写可执行的.py文件
2017/11/28 Python
python pyqtgraph 保存图片到本地的实例
2020/03/14 Python
python 解决mysql where in 对列表(list,,array)问题
2020/06/06 Python
详解canvas drawImage()方法绘制图片不显示的问题
2018/10/08 HTML / CSS
Canvas 帧动画吃苹果小游戏
2020/08/05 HTML / CSS
万代美国官网:PREMIUM BANDAI USA
2020/09/11 全球购物
新电JAVA笔试题目
2014/08/31 面试题
软件设计的目标是什么
2016/12/04 面试题
旅游管理专业个人求职信范文
2013/12/24 职场文书
缴纳养老保险的证明
2014/01/10 职场文书
广告语设计及教案
2014/03/21 职场文书
校园环保标语
2014/06/13 职场文书
机械工程师岗位职责
2014/06/16 职场文书
如何做好工作总结!
2019/04/10 职场文书