使用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 相关文章推荐
火车头采集器3.0采集图文教程
Mar 17 PHP
PHP 页面跳转到另一个页面的多种方法方法总结
Jul 07 PHP
php提示无法加载或mcrypt没有找到 PHP 扩展 mbstring解决办法
Mar 27 PHP
php教程 插件机制在PHP中实现方案
Nov 02 PHP
php文件操作之小型留言本实例
Jun 20 PHP
使用PHPCMS搭建wap手机网站
Sep 20 PHP
PHP正则表达式之捕获组与非捕获组
Nov 06 PHP
使用PHP处理数据库数据如何将数据返回客户端并显示当前状态
Feb 16 PHP
PHP 等比例缩放图片详解及实例代码
Sep 18 PHP
Yii框架防止sql注入,xss攻击与csrf攻击的方法
Oct 18 PHP
PHP实现验证码校验功能
Nov 16 PHP
一次项目中Thinkphp绕过禁用函数的实战记录
Nov 17 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的历史和优缺点
2006/10/09 PHP
PHP 数据结构 算法描述 冒泡排序 bubble sort
2011/07/10 PHP
PHP stripos()函数及注意事项的分析
2013/06/08 PHP
php array_multisort 对数组进行排序详解及实例代码
2016/10/27 PHP
Mootools 1.2 手风琴(Accordion)教程
2009/09/15 Javascript
IE与firefox下Dhtml的一些区别小结
2009/12/02 Javascript
javascript 节点遍历函数
2010/03/28 Javascript
JavaScript获取FCK编辑器信息的具体方法
2013/07/12 Javascript
javascript ajax的5种状态介绍
2014/08/18 Javascript
通过JS动态创建一个html DOM元素并显示
2014/10/15 Javascript
利用Angular.js限制textarea输入的字数
2016/10/20 Javascript
JS实现分页浏览横向图片(类轮播)实例代码
2017/11/06 Javascript
vue的过滤器filter实例详解
2018/09/17 Javascript
layui框架与SSM前后台交互的方法
2019/09/12 Javascript
vue 组件销毁并重置的实现
2020/01/13 Javascript
谈一谈vue请求数据放在created好还是mounted里好
2020/07/27 Javascript
vue-cli脚手架的.babelrc文件用法说明
2020/09/11 Javascript
Webpack的Loader和Plugin的区别
2020/11/09 Javascript
[02:27]DOTA2英雄基础教程 莱恩
2014/01/17 DOTA
Python文件夹与文件的相关操作(推荐)
2016/07/25 Python
Python2.7基于笛卡尔积算法实现N个数组的排列组合运算示例
2017/11/23 Python
100行python代码实现跳一跳辅助程序
2018/01/15 Python
Python2.7.10以上pip更新及其他包的安装教程
2018/06/12 Python
在django中,关于session的通用设置方法
2019/08/06 Python
python+pygame实现坦克大战
2019/09/10 Python
Python基于当前时间批量创建文件
2020/05/07 Python
Python获取android设备cpu和内存占用情况
2020/11/15 Python
利用CSS3把图片变成灰色模式的实例代码
2016/09/06 HTML / CSS
html5跨域通讯之postMessage的用法总结
2013/11/07 HTML / CSS
英国奢侈品概念店:Base Blu
2019/05/16 全球购物
State Cashmere官网:半零售价可持续蒙古羊绒
2020/02/26 全球购物
酒店总经理工作职责
2013/12/13 职场文书
经济担保书范文
2014/04/02 职场文书
股东授权委托书范文
2014/09/13 职场文书
安全承诺书格式范本
2015/04/28 职场文书
python的netCDF4批量处理NC格式文件的操作方法
2022/03/21 Python