使用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 相关文章推荐
JAVA/JSP学习系列之七
Oct 09 PHP
PHP调用Webservice实例代码
Jul 29 PHP
如何在symfony中导出为CSV文件中的数据
Oct 06 PHP
php 常用算法和时间复杂度
Jul 01 PHP
分割GBK中文遭遇乱码的解决方法
Aug 09 PHP
php无限极分类递归排序实现方法
Nov 11 PHP
PHP统计目录大小的自定义函数分享
Nov 18 PHP
PHP封装的多文件上传类实例与用法详解
Feb 07 PHP
php把字符串指定字符分割成数组的方法
Mar 12 PHP
ThinkPHP5.0 图片上传生成缩略图实例代码说明
Jun 20 PHP
PHP调用微博接口实现微博登录的方法示例
Sep 22 PHP
Codeigniter里的无刷新上传的实现代码
Apr 14 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
利用PHP生成静态HTML文档的原理
2012/10/29 PHP
支持生僻字且自动识别utf-8编码的php汉字转拼音类
2014/06/27 PHP
分享3个php获取日历的函数
2015/09/25 PHP
?牟┛途W扣了一??效果出?? target=
2007/05/27 Javascript
jQuery Autocomplete自动完成插件
2010/07/17 Javascript
js constructor的实际作用分析
2011/11/15 Javascript
javascript轻量级模板引擎juicer使用指南
2014/06/22 Javascript
window.print打印指定div指定网页指定区域的方法
2014/08/04 Javascript
使用纯javascript实现经典扫雷游戏
2015/04/23 Javascript
JS+CSS实现简易实用的滑动门菜单效果
2015/09/18 Javascript
谈谈因Vue.js引发关于getter和setter的思考
2016/12/02 Javascript
vue双向绑定简要分析
2017/03/23 Javascript
JavaScript之map reduce_动力节点Java学院整理
2017/06/29 Javascript
AngularJS 事件发布机制
2018/08/28 Javascript
原生JavaScript实现弹幕组件的示例代码
2020/10/12 Javascript
使用vue构建多页面应用的示例
2020/10/22 Javascript
学习python (1)
2006/10/31 Python
Python中的ctime()方法使用教程
2015/05/22 Python
python图像处理之反色实现方法
2015/05/30 Python
python实现K最近邻算法
2018/01/29 Python
python超时重新请求解决方案
2019/10/21 Python
基于Python数据分析之pandas统计分析
2020/03/03 Python
Python更改pip镜像源的方法示例
2020/12/01 Python
美国校园市场:OCM
2017/06/08 全球购物
数字天堂软件测试面试题
2012/12/23 面试题
编程输出如下图形
2013/11/24 面试题
《孔子拜师》教学反思
2014/02/24 职场文书
敬老院献爱心活动总结
2014/07/08 职场文书
2014教师党员个人自我评议
2014/09/20 职场文书
春节慰问信范文
2015/02/15 职场文书
上班迟到检讨书范文
2015/05/06 职场文书
民事诉讼代理词
2015/05/25 职场文书
公司联欢会主持词
2015/07/04 职场文书
nginx负载功能+nfs服务器功能解析
2022/02/28 Servers
【D4DJ】美少女DJ企划 动画将于明年冬季开播第2季
2022/04/11 日漫
服务器SVN搭建图文安装过程
2022/06/21 Servers