文档章节

php中jsonp的跨域实例

zyt_1978
 zyt_1978
发布于 2016/06/19 22:10
字数 341
阅读 2
收藏 0

我们现在www.test.com这个域名下面有这么个html文件testjsonp.html:

[html] view plain copy

 print?

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
  2.  <html xmlns="http://www.w3.org/1999/xhtml" >  
  3.  <head>  
  4.      <title>Untitled Page</title>  
  5.       <script type="text/javascript" src="jquery-1.7.2.min.js"></script>  
  6.       <script type="text/javascript">  
  7.      jQuery(document).ready(function(){   
  8.         $.ajax({  
  9.              type: "GET",  
  10.              async: false,  
  11.              //url: "http://test/jsonp.php",  
  12.              url:"http://mytaobao.com/jsonp.php",  
  13.              dataType: "jsonp",  
  14.              jsonp: "callback",//传递给请求处理程序或页面的,用以获得jsonp回调函数名的参数名(一般默认为:callback)  
  15.              jsonpCallback:"flightHandler",//自定义的jsonp回调函数名称,默认为jQuery自动生成的随机函数名,也可以写"?",jQuery会自动为你处理数据  
  16.              success: function(json){  
  17.                  alert('您查询到航班信息:票价: ' + json.price + ' 元,余票: ' + json.tickets + ' 张。回调函数名为: '+json.func);  
  18.              },  
  19.              error: function(){  
  20.                  alert("fail");  
  21.              }  
  22.          });  
  23.      });  
  24.      </script>  
  25.      </head>  
  26.   <body>  
  27.   </body>  
  28.  </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] view plain copy

 print?

  1. <?php  
  2.   
  3. $callback = $_GET["callback"];  
  4. $a = array(  
  5.     'code'=>'CA1998',  
  6.     'price'=>'6000',  
  7.     'tickets'=>20,  
  8.     'func'=>$callback,  
  9. );  
  10. $result = json_encode($a);  
  11. echo "flightHandler($result)";  
  12. exit;  


放到这个目录下面去。这样就可以测试了。

 

直接在浏览器访问testjsonp.html.就可以看到效果了。

© 著作权归作者所有

共有 人打赏支持
zyt_1978
粉丝 8
博文 166
码字总数 21058
作品 0
程序员
SSO单点登录、跨域重定向、跨域设置Cookie、京东单点登录实例分析

最近在研究SSO单点登录技术,其中有一种就是通过js的跨域设置cookie来达到单点登录目的的,下面就已京东商城为例来解释下跨域设置cookie的过程 涉及的关键知识点: 1、jQuery ajax跨域重定向...

bengozhong
2016/08/15
33
0
JSONP跨域的原理解析

JavaScript是一种在Web开发中经常使用的前端动态脚本技术。在JavaScript中,有一个很重要的安全性限制,被称为“Same-Origin Policy”(同源策略)。这一策略对于JavaScript代码能够访问的页...

武文海
2016/03/21
24
0
PHP判断ajax请求:HTTP_X_REQUESTED_WITH

有时我们需要判断是不是ajax请求来决定模块输出还是json格式输出. PHP判断ajax请求的原理: 在发送ajax请求的时候,我们可以通过XMLHttpRequest这个对象,创建自定义的header头信息, 在jquer...

鬼方赤命
2016/11/22
31
0
简单透彻理解JSONP原理及使用

什么是JSONP 首先提一下JSON这个概念,JSON是一种轻量级的数据传输格式,被广泛应用于当前Web应用中。JSON格式数据的编码和解析基本在所有主流语言中都被实现,所以现在大部分前后端分离的架...

菜鸟的进阶
2017/10/22
0
0
解决跨域问题的利器——JSONP

Asynchronous JavaScript and XML (Ajax ) 是驱动新一代 Web 站点(流行术语为 Web 2.0 站点)的关键技术。Ajax 允许在不干扰 Web 应用程序的显示和行为的情况下在后台进行数据检索。使用 函...

筱飞
2016/06/27
116
2

没有更多内容

加载失败,请刷新页面

加载更多

下一页

移除或自定义 WordPress 仪表盘欢迎面板

第一次登录 WordPress 后台仪表盘页面,默认都会显示 WordPress 的欢迎面板: 如果我们要移除这个面板,在主题的 functions.php 中添加下面的代码即可: 12 //移除 WordPress 仪表盘欢迎面...

james_laughing
13分钟前
0
0
HashMap实现原理及源码分析

HashMap实现原理及源码分析   哈希表(hash table)也叫散列表,是一种非常重要的数据结构,应用场景及其丰富,许多缓存技术(比如memcached)的核心其实就是在内存中维护一张大的哈希表,...

DemonsI
16分钟前
0
0
eggjs学习笔记

快速初始化 生成项目(要求最低的node版本8.x) npm i egg-init -gegg-init egg-example --type=simplecd egg-examplenpm i 启动项目 npm run dev 配置 环境配置会覆盖默认配置 config...

别人说我名字很长
19分钟前
1
0
Winform Timer控件时间间隔

sender as System.Timers.Timer).Interval = 23 * 60 * 60 * 1000.0;//将时间间隔改为23小时,23小时后重新发生timer_Elapsed事件。 //60000:时间间隔1分钟,300000:时间间隔5分钟,600000:...

笑丶笑
20分钟前
0
0
在win10系统下怎样快速切换任务视图

切换窗口:Alt + Tab 任务视图:Win + Tab (松开键盘界面不会消失) 切换任务视图:Win + Ctrl +左/右 创建新的虚拟桌面:Win + Ctrl + D 关闭当前虚拟桌面:Win + Ctrl + F4...

SummerGao
24分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部