使用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 相关文章推荐
phpwind中的数据库操作类
Jan 02 PHP
php+mysql分页代码详解
Mar 27 PHP
php下检测字符串是否是utf8编码的代码
Jun 28 PHP
php将url地址转化为完整的a标签链接代码(php为url地址添加a标签)
Jan 17 PHP
php单例模式的简单实现方法
Jun 10 PHP
php过滤输入操作之htmlentities与htmlspecialchars用法分析
Feb 17 PHP
修改yii2.0用户登录使用的user表为其它的表实现方法(推荐)
Aug 01 PHP
关于PHP中协程和阻塞的一些理解与思考
Aug 11 PHP
PHP实现的一致性Hash算法详解【分布式算法】
Mar 31 PHP
PHP实现动态压缩js与css文件的方法
May 02 PHP
PHPUnit测试私有属性和方法功能示例
Jun 12 PHP
详解no input file specified 三种解决方法
Nov 29 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
Dedecms常用函数解析
2008/02/01 PHP
基于PHP的cURL快速入门教程 (小偷采集程序)
2011/06/02 PHP
php使用异或实现的加密解密实例
2013/09/04 PHP
php中实现记住密码下次自动登录的例子
2014/11/06 PHP
Zend Framework实现具有基本功能的留言本(附demo源码下载)
2016/03/22 PHP
非常有用的9个PHP代码片段
2016/04/06 PHP
PHP实现基于mysqli的Model基类完整实例
2016/04/08 PHP
Laravel学习教程之View模块详解
2017/09/18 PHP
php设计模式之观察者模式实例详解【星际争霸游戏案例】
2020/03/30 PHP
JS中彻底删除JSON对象组成的数组中的元素
2020/09/22 PHP
Javascript中的常见排序算法
2007/03/27 Javascript
Prototype Date对象 学习
2009/07/12 Javascript
jquery获取tr并更改tr内容示例代码
2014/02/13 Javascript
jQuery过滤选择器:not()方法使用介绍
2014/04/20 Javascript
JavaScript 事件入门知识
2015/04/13 Javascript
pc加载更多功能和移动端下拉刷新加载数据
2016/11/07 Javascript
JS实现本地存储信息的方法(基于localStorage与userData)
2017/02/18 Javascript
详解vue静态资源打包中的坑与解决方案
2018/02/05 Javascript
JavaScript 判断对象中是否有某属性的常用方法
2018/06/14 Javascript
vue-quill-editor插入图片路径太长问题解决方法
2021/01/08 Vue.js
Python中输出ASCII大文字、艺术字、字符字小技巧
2015/04/28 Python
Python实现简单字典树的方法
2016/04/29 Python
Python实现感知机(PLA)算法
2017/12/20 Python
Django使用详解:ORM 的反向查找(related_name)
2018/05/30 Python
详解Django+uwsgi+Nginx上线最佳实战
2019/03/14 Python
python基于pdfminer库提取pdf文字代码实例
2019/08/15 Python
为什么黑客都用python(123个黑客必备的Python工具)
2020/01/31 Python
Python如何使用27行代码绘制星星图
2020/07/20 Python
杭州信雅达系统.NET工程师面试试题
2015/02/08 面试题
数控技术应届生求职信
2013/11/13 职场文书
信用社员工先进事迹材料
2014/02/04 职场文书
党的群众路线教育实践方案
2014/05/11 职场文书
2016教师校本研修心得体会
2016/01/08 职场文书
nginx location中多个if里面proxy_pass的方法
2021/03/31 Servers
python实现股票历史数据可视化分析案例
2021/06/10 Python
对象析构函数__del__在Python中何时使用
2022/03/22 Python