使用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 相关文章推荐
给apache2.2加上mod_encoding模块後 php5.2.0 处理url出现bug
Apr 12 PHP
PHP 远程文件管理,可以给表格排序,遍历目录,时间排序
Aug 07 PHP
php使用ZipArchive提示Fatal error: Class ZipArchive not found in的解决方法
Nov 04 PHP
Linux操作系统安装LAMP环境
Jun 26 PHP
Yii2 ActiveRecord多表关联及多表关联搜索的实现
Jun 30 PHP
php 读取输出其他文件的实现方法
Jul 26 PHP
修改Laravel5.3中的路由文件与路径
Aug 10 PHP
PHP文件操作详解
Dec 30 PHP
CodeIgniter框架常见用法工作总结
Mar 16 PHP
PHP mongodb操作类定义与用法示例【适合mongodb2.x和mongodb3.x】
Jun 16 PHP
PHP实现PDO操作mysql存储过程示例
Feb 13 PHP
使用PHP+Redis实现延迟任务,实现自动取消订单功能
Nov 21 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
论坛头像随机变换代码
2006/10/09 PHP
php二维数组排序与默认自然排序的方法介绍
2013/04/27 PHP
PHP统计nginx访问日志中的搜索引擎抓取404链接页面路径
2014/06/30 PHP
php实现图片上传、剪切功能
2016/05/07 PHP
php反序列化长度变化尾部字符串逃逸(0CTF-2016-piapiapia)
2020/02/15 PHP
基于JQuery实现滚动到页面底端时自动加载更多信息
2014/01/31 Javascript
不使用ajax实现无刷新提交表单
2014/12/21 Javascript
DOM 事件流详解
2015/01/20 Javascript
JavaScript中通过prototype属性共享属性和方法的技巧实例
2015/03/13 Javascript
nodejs实例解析(输出hello world)
2017/01/03 NodeJs
微信小程序返回多级页面的实现方法
2017/10/27 Javascript
js时间戳与日期格式之间转换详解
2017/12/11 Javascript
vue 页面加载进度条组件实例
2018/02/05 Javascript
vue2 mint-ui loadmore实现下拉刷新,上拉更多功能
2018/03/21 Javascript
微信小程序实现时间预约功能
2018/11/27 Javascript
vue多次循环操作示例
2019/02/08 Javascript
迅速了解一下ES10中Object.fromEntries的用法使用
2019/03/05 Javascript
vue基础之事件v-onclick=&quot;函数&quot;用法示例
2019/03/11 Javascript
javascript验证form表单数据的案例详解
2019/03/25 Javascript
node命令行工具之实现项目工程自动初始化的标准流程
2019/08/12 Javascript
vue.js+elementUI实现点击左右箭头切换头像功能(类似轮播图效果)
2019/09/05 Javascript
python操作mysql数据库
2017/03/05 Python
教你使用python画一朵花送女朋友
2018/03/29 Python
python编写简易聊天室实现局域网内聊天功能
2018/07/28 Python
python解析多层json操作示例
2019/12/30 Python
基于Python3.6中的OpenCV实现图片色彩空间的转换
2020/02/03 Python
Python守护进程实现过程详解
2020/02/10 Python
django 将自带的数据库sqlite3改成mysql实例
2020/07/09 Python
20行Python代码实现一款永久免费PDF编辑工具的实现
2020/08/27 Python
Python使用tkinter实现小时钟效果
2021/02/22 Python
解释一下钝化(Swap out)
2016/12/26 面试题
后勤工作职责
2013/12/22 职场文书
趣味运动会活动方案
2014/02/12 职场文书
学习朴航瑛老师爱岗敬业先进事迹思想汇报
2014/09/17 职场文书
2015年办公室人员工作总结
2015/05/15 职场文书
Python的flask接收前台的ajax的post数据和get数据的方法
2021/04/12 Python