使用JSON实现数据的跨域传输的php代码


Posted in PHP onDecember 20, 2011

后台profile.php代码:

<?php 
$arr = array( 
'firstname' => iconv('gb2312', 'utf-8', '非诚'), 
'lastname' => iconv('gb2312', 'utf-8', '勿扰'), 
'contact' => array( 
'email' =>'fcwr@3water.com', 
'website' =>'https://3water.com', 
) 
); 
//将一个数组JSON 
$json_string = json_encode($arr); 
//此处注意,双引号能对里面的变量当变量进行处理,单引号则不会 
echo "getProfile($json_string)"; 
?>

需要指出的是,在非UTF-8编码下,中文字符将不可被encode,结果会出来空值,所以,如果你使用 gb2312编写PHP代码,那么就需要将包含中文的内容使用iconv或者mb转为UTF-8再进行json_encode。
前台index.html代码:
<script type="text/javascript"> 
function getProfile(str) { 
var arr = str; 
document.getElementById("firstname").innerHTML = arr.firstname; 
} 
</script> 
<body> 
<div id="firstname"></div> 
</body> 
<!-- 使用JSON实现跨域的数据调用,此处如将“profile.php”改为“http://另外一个域名/profile.php”就更能看出跨域了--> 
<script type="text/javascript" src="profile.php"></script>

将JSON格式的数据直接赋值给javascript中的变量,就变成数组了,接下来操作起来就会非常的方便,此处如果使用XML做为数据传输,后续操作就不方便喽。
很显然,当index.html调用profile.php时,JSON字符串生成,并作为参数传入getProfile,然后将昵称插入到div 中,这样一次跨域数据交互就完成了
调用index.html
输出:非诚
PHP 相关文章推荐
2.PHP入门
Oct 09 PHP
PHP 事务处理数据实现代码
May 13 PHP
mac下使用brew配置环境的步骤分享
May 23 PHP
FireFox浏览器使用Javascript上传大文件
Oct 30 PHP
PHP判断数据库中的记录是否存在的方法
Nov 14 PHP
typecho插件编写教程(一):Hello World
May 28 PHP
详解php魔术方法(Magic methods)的使用方法
Feb 14 PHP
最新最全PHP生成制作验证码代码详解(推荐)
Jun 12 PHP
php curl获取https页面内容,不直接输出返回结果的设置方法
Jan 15 PHP
用PHP做了一个领取优惠券活动的示例代码
Jul 05 PHP
Windows服务器中PHP如何安装redis扩展
Sep 27 PHP
微信小程序和php的登录实现
Apr 01 PHP
php自动注册登录验证机制实现代码
Dec 20 #PHP
php4与php5的区别小结(配置异同)
Dec 20 #PHP
利用ThinkPHP内置的ThinkAjax实现异步传输技术的实现方法
Dec 19 #PHP
如何使用Linux的Crontab定时执行PHP脚本的方法
Dec 19 #PHP
PHP定时执行计划任务的多种方法小结
Dec 19 #PHP
在WINDOWS中设置计划任务执行PHP文件的方法
Dec 19 #PHP
php安全配置 如何配置使其更安全
Dec 16 #PHP
You might like
eWebEditor v3.8 商业完整版 (PHP)
2006/12/06 PHP
PHP中=赋值操作符对不同数据类型的不同行为
2011/01/02 PHP
php实现分页工具类分享
2014/01/09 PHP
php找出指定范围内回文数且平方根也是回文数的方法
2015/03/23 PHP
PHP中如何使用session实现保存用户登录信息
2015/10/20 PHP
TP5(thinkPHP框架)实现后台清除缓存功能示例
2019/05/29 PHP
Javascript下的keyCode键码值表
2007/04/10 Javascript
使用jquery mobile做幻灯播放效果实现步骤
2013/01/04 Javascript
jQuery遍历Table应用示例
2014/04/09 Javascript
jQuery实现菜单感应鼠标滑动动画效果的方法
2015/02/28 Javascript
jquery实现带缩略图的可定制高度画廊效果(5种)
2015/08/28 Javascript
js如何判断输入字符串长度
2015/12/16 Javascript
JavaScript对象数组如何按指定属性和排序方向进行排序
2016/06/15 Javascript
自学实现angularjs依赖注入
2016/12/20 Javascript
Vue 滚动行为的具体使用方法
2017/09/13 Javascript
vue router下的html5 history在iis服务器上的设置方法
2017/10/18 Javascript
vue-content-loader内容加载器的使用方法
2018/08/05 Javascript
Bootstrap-table使用footerFormatter做统计列功能
2018/09/07 Javascript
Vue框架TypeScript装饰器使用指南小结
2019/02/18 Javascript
[57:22]完美世界DOTA2联赛PWL S2 FTD vs PXG 第二场 11.27
2020/12/01 DOTA
python能做哪方面的工作
2020/06/15 Python
解决TensorFlow调用Keras库函数存在的问题
2020/07/06 Python
记录一下scrapy中settings的一些配置小结
2020/09/28 Python
html5模拟平抛运动(模拟小球平抛运动过程)
2013/07/25 HTML / CSS
严选全球尖货,立足香港:Bonpont宝盆
2018/07/24 全球购物
宿舍卫生检讨书
2014/01/16 职场文书
实习生自我评价
2014/01/18 职场文书
优秀团支部事迹材料
2014/02/08 职场文书
婚假请假条格式及范文
2014/04/10 职场文书
给市场的环保建议书
2014/05/14 职场文书
小学生光盘行动倡议书
2015/04/28 职场文书
《生物入侵者》教学反思
2016/02/16 职场文书
如何判断pytorch是否支持GPU加速
2021/06/01 Python
关于Python OS模块常用文件/目录函数详解
2021/07/01 Python
基于Python实现一个春节倒计时脚本
2022/01/22 Python
redis sentinel监控高可用集群实现的配置步骤
2022/04/01 Redis