使用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 相关文章推荐
PHP 上传文件大小限制
Jul 05 PHP
php 引用(&amp;)详解
Nov 20 PHP
php获取本地图片文件并生成xml文件输出具体思路
Apr 27 PHP
PHP不用第三变量交换2个变量的值的解决方法
Jun 02 PHP
解析php时间戳与日期的转换
Jun 06 PHP
利用浏览器的Javascript控制台调试PHP程序
Jan 08 PHP
php验证身份证号码正确性的函数
Jul 20 PHP
yii的入口文件index.php中为什么会有这两句
Aug 04 PHP
php版微信自动获取收货地址api用法示例
Sep 22 PHP
PHP-CGI远程代码执行漏洞分析与防范
May 07 PHP
PHP面向对象之工作单元(实例讲解)
Jun 26 PHP
Thinkphp结合AJAX长轮询实现PC与APP推送详解
Jul 31 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 is_file 判断给定文件名是否为一个正常的文件
2010/05/10 PHP
php中截取中文字符串的代码小结
2011/07/17 PHP
PHP eval函数使用介绍
2013/12/08 PHP
PHP序列化操作方法分析
2016/09/28 PHP
PHP使用Http Post请求发送Json对象数据代码解析
2020/07/16 PHP
Javascript中valueOf与toString区别浅析
2013/03/19 Javascript
js判断鼠标同时离开两个div的思路及代码
2013/05/31 Javascript
js的Boolean对象初始值示例
2014/03/04 Javascript
jquery学习总结(超级详细)
2014/09/04 Javascript
JS中字符串trim()使用示例
2015/05/26 Javascript
基于jQuery实现的双11天猫拆红包抽奖效果
2015/12/01 Javascript
Bootstrap3 input输入框插入glyphicon图标的方法
2016/05/16 Javascript
AngularJS应用开发思维之依赖注入3
2016/08/19 Javascript
基于JavaScript实现前端文件的断点续传
2016/10/17 Javascript
JavaScript文件的同步和异步加载的实现代码
2017/08/19 Javascript
koa上传excel文件并解析的实现方法
2018/08/09 Javascript
深入了解JavaScript代码覆盖
2019/06/13 Javascript
微信小程序上传图片并等比列压缩到指定大小的实例代码
2019/10/24 Javascript
Vue通过WebSocket建立长连接的实现代码
2019/11/05 Javascript
JavaScript对象访问器Getter及Setter原理解析
2020/12/08 Javascript
Python深入学习之对象的属性
2014/08/31 Python
对Python中列表和数组的赋值,浅拷贝和深拷贝的实例讲解
2018/06/28 Python
python利用itertools生成密码字典并多线程撞库破解rar密码
2019/08/12 Python
Tensorflow 多线程与多进程数据加载实例
2020/02/05 Python
python使用Word2Vec进行情感分析解析
2020/07/31 Python
python爬虫构建代理ip池抓取数据库的示例代码
2020/09/22 Python
英国银首饰公司:e&e Jewellery
2021/02/11 全球购物
小型女装店的创业计划书
2014/01/09 职场文书
建筑安全员岗位职责
2014/03/13 职场文书
2014世界杯球队球队口号
2014/06/05 职场文书
2015年世界卫生日活动总结
2015/02/09 职场文书
副总经理岗位职责范本
2015/04/08 职场文书
运动会运动员赞词
2015/07/22 职场文书
趣味运动会口号
2015/12/24 职场文书
python实现简易自习室座位预约系统
2021/06/30 Python
Android移动应用开发指南之六种布局详解
2022/09/23 Java/Android