使用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 批量删除 sql语句
Jun 05 PHP
php学习笔记之 函数声明(二)
Jun 09 PHP
php curl常见错误:SSL错误、bool(false)
Dec 28 PHP
深入理解:单一入口、MVC、ORM、CURD、ActiveRecord概念
Jun 06 PHP
Windows7下的php环境配置教程
Feb 28 PHP
解决ThinkPHP关闭调试模式时报错的问题汇总
Apr 22 PHP
php基础教程
Aug 26 PHP
PHP+mysql+ajax轻量级聊天室实现方法详解
Oct 17 PHP
php中namespace及use用法分析
Dec 06 PHP
PHP面向对象类型约束用法分析
Jun 12 PHP
php生成静态页面并实现预览功能
Jun 27 PHP
laravel框架中间件 except 和 only 的用法示例
Jul 12 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 防止单引号,双引号在接受页面转义
2008/07/10 PHP
php中出现空白页的原因及解决方法汇总
2014/07/08 PHP
php发送与接收流文件的方法
2015/02/11 PHP
PHP 中 var_export、print_r、var_dump 调试中的区别
2018/06/19 PHP
Extjs学习笔记之六 面版
2010/01/08 Javascript
jQuery ajax在GBK编码下表单提交终极解决方案(非二次编码方法)
2010/10/20 Javascript
javascript中使用replaceAll()函数实现字符替换的方法
2010/12/25 Javascript
JavaScrip实现PHP print_r的数功能(三种方法)
2013/11/12 Javascript
jQuery搜索同辈元素方法
2015/02/10 Javascript
简要了解jQuery移动web开发的响应式布局设计
2015/12/04 Javascript
详解ES6中的let命令
2020/04/05 Javascript
如何提高数据访问速度
2016/12/26 Javascript
Vue学习之路之登录注册实例代码
2017/07/06 Javascript
js is_valid_filename验证文件名的函数
2017/07/19 Javascript
node.js学习笔记之koa框架和简单爬虫练习
2018/12/13 Javascript
vue在路由中验证token是否存在的简单实现
2019/11/11 Javascript
使用JavaScript和MQTT开发物联网应用示例解析
2020/08/07 Javascript
Python itertools模块详解
2015/05/09 Python
Python实现按特定格式对文件进行读写的方法示例
2017/11/30 Python
python实现树形打印目录结构
2018/03/29 Python
对python opencv 添加文字 cv2.putText 的各参数介绍
2018/12/05 Python
对Python实现简单的API接口实例讲解
2018/12/10 Python
pytorch实现对输入超过三通道的数据进行训练
2020/01/15 Python
Python timer定时器两种常用方法解析
2020/01/20 Python
python判断链表是否有环的实例代码
2020/01/31 Python
python数据类型强制转换实例详解
2020/06/22 Python
params有什么用
2016/03/01 面试题
JAVA软件工程师测试题
2014/07/25 面试题
研究生求职推荐信范文
2013/11/30 职场文书
土木建筑学生自我评价
2014/01/14 职场文书
计算机求职自荐信范文
2014/04/19 职场文书
应届硕士毕业生自荐信
2014/05/26 职场文书
党的群众路线教育实践活动党员个人整改措施
2014/10/27 职场文书
公司副总经理岗位职责
2015/04/08 职场文书
Nginx下配置Https证书详细过程
2021/04/01 Servers
PostgreSQL通过oracle_fdw访问Oracle数据的实现步骤
2021/05/21 PostgreSQL