使用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 相关文章推荐
对Session和Cookie的区分与解释
Mar 16 PHP
PHP MemCached高级缓存配置图文教程
Aug 05 PHP
PHP中运用jQuery的Ajax跨域调用实现代码
Feb 21 PHP
php语言流程控制中的主动与被动
Nov 05 PHP
codeigniter框架The URI you submitted has disallowed characters错误解决方法
May 06 PHP
PHP命令行脚本接收传入参数的三种方式
Aug 20 PHP
PHP下的Oracle客户端扩展(OCI8)安装教程
Sep 10 PHP
php文件缓存方法总结
Mar 16 PHP
PHP获取指定时间段之间的 年,月,天,时,分,秒
Jun 05 PHP
PHP通过get方法获得form表单数据方法总结
Sep 12 PHP
PHP封装mysqli基于面向对象的mysql数据库操作类与用法示例
Feb 25 PHP
laravel使用数据库测试注意事项
Apr 10 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图片处理类(水印、透明度、旋转)
2015/10/21 PHP
thinkphp3.2.0 setInc方法 源码全面解析
2018/01/29 PHP
php合并数组并保留键值的实现方法
2018/03/12 PHP
ThinkPHP中图片按比例切割的代码实例
2019/03/08 PHP
基于jQuery替换table中的内容并显示进度条的代码
2011/08/02 Javascript
JS代码同步文本框内容的实例方法
2013/07/12 Javascript
JavaScript面向对象的实现方法小结
2015/04/14 Javascript
四种参数传递的形式——URL,超链接,js,form表单
2015/07/24 Javascript
JS实现滑动菜单效果代码(包括Tab,选项卡,横向等效果)
2015/09/24 Javascript
js console.log打印对像与数组用法详解
2016/01/21 Javascript
jQuery 跨域访问解决原理案例详解
2016/07/09 Javascript
Angularjs中的ui-bootstrap的使用教程
2017/02/19 Javascript
利用原生JS与jQuery实现数字线性变化的动画
2017/02/24 Javascript
jQuery实现的动态文字变化输出效果示例【附演示与demo源码下载】
2017/03/24 jQuery
微信小程序之绑定点击事件实例详解
2017/07/07 Javascript
EasyUI在Panel上动态添加LinkButton按钮
2017/08/11 Javascript
通过button将form表单的数据提交到action层的实例
2017/09/08 Javascript
数据挖掘之Apriori算法详解和Python实现代码分享
2014/11/07 Python
Python如何生成树形图案
2018/01/03 Python
python3.x实现base64加密和解密
2019/03/28 Python
python 整数越界问题详解
2019/06/27 Python
python字符串格式化方式解析
2019/10/19 Python
Django User 模块之 AbstractUser 扩展详解
2020/03/11 Python
Django 构建模板form表单的两种方法
2020/06/14 Python
获取CSDN文章内容并转换为markdown文本的python
2020/09/06 Python
css3 伪类选择器快速复习小结
2019/09/10 HTML / CSS
NHL官方在线商店:Shop.NHL.com
2020/05/01 全球购物
Python面试题:Python是如何进行内存管理的
2014/08/04 面试题
生产管理的三大手法
2013/11/11 职场文书
致跳高运动员加油稿
2014/02/12 职场文书
人事专员职责
2014/02/22 职场文书
电子银行营销方案
2014/02/22 职场文书
人力资源经理的岗位职责范本
2014/02/28 职场文书
应用心理学专业求职信
2014/08/04 职场文书
2014年依法行政工作总结
2014/11/19 职场文书
AJAX引擎原理以及XmlHttpRequest对象的axios、fetch区别详解
2022/04/09 Javascript