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

2015-01-24信息快讯网

某网站后台用php脚本得到一个JSON格式的数据,交给前台javascript进行处理,使用JSON实现数据的跨域调用

后台profile.php代码:
 
<?php 
$arr = array( 
'firstname' => iconv('gb2312', 'utf-8', '非诚'), 
'lastname' => iconv('gb2312', 'utf-8', '勿扰'), 
'contact' => array( 
'email' =>'[email protected]', 
'website' =>'http://www.jb51.net', 
) 
); 
//将一个数组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
输出:非诚
深入理解require与require_once与include以及include_once的区别
探讨各种PHP字符串函数的总结分析
基于php split()函数的用法详解
深入PHP nl2br()格式化输出的详解
php htmlspecialchars()与shtmlspecialchars()函数的深入分析
深入php define()函数以及defined()函数的用法详解
深入探讨:PHP使用数据库永久连接方式操作MySQL的是与非
用mysql_fetch_array()获取当前行数据的方法详解
获取php页面执行时间,数据库读写次数,函数调用次数等(THINKphp)
PHP register_shutdown_function函数的深入解析
基于session_unset与session_destroy的区别详解
深入php函数file_get_contents超时处理的方法详解
详解PHP内置访问资源的超时时间 time_out file_get_contents read_file
深入php数据采集的详解
php笔记之:数据类型与常量的使用分析
php中serialize序列化与json性能测试的示例分析
php和js如何通过json互相传递数据相关问题探讨
PHP应用JSON技巧讲解
PHP5.4中json_encode中文转码的变化小结
PHP gbk环境下json_dencode传送来的汉字
php文件怎么打开 如何执行php文件
php自动注册登录验证机制实现代码
php4与php5的区别小结(配置异同)
利用ThinkPHP内置的ThinkAjax实现异步传输技术的实现方法
如何使用Linux的Crontab定时执行PHP脚本的方法
PHP定时执行计划任务的多种方法小结
打造超酷的PHP数据饼图效果实现代码
DISCUZ在win2003环境下 Unable to access ./include/common.inc.php in... 的问题终极解决方案
PHP学习散记_编码(json_encode 中文不显示)
php 转换字符串编码 iconv与mb_convert_encoding的区别说明
PHP mb_convert_encoding文字编码的转换函数介绍
让Json更懂中文(JSON_UNESCAPED_UNICODE)
Session保存到数据库的php类分享
如何在symfony中导出为CSV文件中的数据
php json_encode奇怪问题说明
php中模拟POST传递数据的两种方法分享
php中json_encode中文编码问题分析
php中使用Curl、socket、file_get_contents三种方法POST提交数据
php获取post中的json数据的实现方法
©2014-2024 dbsqp.com