浅析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
destoon二次开发常用数据库操作
Jun 21 PHP
PHP基于php_imagick_st-Q8.dll实现JPG合成GIF图片的方法
Jul 11 PHP
php中current、next与reset函数用法实例
Nov 17 PHP
php使用ereg验证文件上传的方法
Dec 16 PHP
PHP使用内置dir类实现目录遍历删除
Mar 31 PHP
php简单实现发送带附件的邮件
Jun 10 PHP
php获取从百度、谷歌等搜索引擎进入网站关键词的方法
Jul 08 PHP
分享3个php获取日历的函数
Sep 25 PHP
php metaphone()函数的定义和用法
May 15 PHP
PHP MVC框架skymvc支持多文件上传
May 26 PHP
基于yaf框架和uploadify插件,做的一个导入excel文件,查看并保存数据的功能
Jan 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
Yii 访问 Gii(脚手架)时出现 403 错误
2018/06/06 PHP
Laravel框架处理用户的请求操作详解
2019/12/20 PHP
Ajax一统天下之Dojo整合篇
2007/03/24 Javascript
动态表格Table类的实现
2009/08/26 Javascript
JQuery获取或设置ckeditor的数据(示例代码)
2013/11/15 Javascript
JS和JQUERY获取页面大小,滚动条位置,元素位置(示例代码)
2013/12/14 Javascript
Jquery 过滤器(first,last,not,even,odd)的使用
2014/01/22 Javascript
jQuery实现tab标签自动切换的方法
2015/02/28 Javascript
jQuery对指定元素中指定字符串进行替换的方法
2015/03/17 Javascript
jQuery mobile 移动web(6)
2015/12/20 Javascript
jQuery绑定事件监听bind和移除事件监听unbind用法实例详解
2016/01/19 Javascript
Vue原理剖析 实现双向绑定MVVM
2017/05/03 Javascript
使用html+js+css 实现页面轮播图效果(实例讲解)
2017/09/21 Javascript
微信小程序实现动态设置页面标题的方法【附源码下载】
2017/11/29 Javascript
JS面向对象的程序设计相关知识小结
2018/05/26 Javascript
对vue2.0中.vue文件页面跳转之.$router.push的用法详解
2018/08/24 Javascript
在Create React App中启用Sass和Less的方法示例
2019/01/16 Javascript
JavaScript数据结构与算法之二叉树遍历算法详解【先序、中序、后序】
2019/02/21 Javascript
详解微信小程序网络请求接口封装实例
2019/05/02 Javascript
Vuex的各个模块封装的实现
2020/06/05 Javascript
vue使用canvas实现移动端手写签名
2020/09/22 Javascript
Python用GET方法上传文件
2015/03/10 Python
使用spring mvc+localResizeIMG实现HTML5端图片压缩上传的功能
2016/12/16 HTML / CSS
聪明的粉丝购买门票的地方:TickPick
2018/03/09 全球购物
乌克兰网上服装店:Bolf.ua
2018/10/30 全球购物
Shein英国:女性时尚网上商店
2019/04/10 全球购物
双立人加拿大官网:Zwilling加拿大
2020/08/10 全球购物
商务主管岗位职责
2013/12/08 职场文书
《伯牙绝弦》教学反思
2014/03/02 职场文书
水毁工程实施方案
2014/04/01 职场文书
党员活动日总结
2014/05/05 职场文书
纪检监察建议书
2014/05/19 职场文书
商务考察邀请函模板
2015/02/02 职场文书
合作与交流自我评价
2015/03/09 职场文书
Golang 并发编程 SingleFlight模式
2022/04/26 Golang
python标准库ElementTree处理xml
2022/05/20 Python