使用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 相关文章推荐
PHP set_time_limit(0)长连接的实现分析
Mar 02 PHP
PHP动态创建Web站点的方法
Aug 14 PHP
PHP无刷新上传文件实现代码
Sep 19 PHP
PHP常用技术文之文件操作和目录操作总结
Sep 27 PHP
laravel 4安装及入门图文教程
Oct 29 PHP
PHP控制前台弹出对话框的实现方法
Aug 21 PHP
PHP Cookie学习笔记
Aug 23 PHP
PHP十六进制颜色随机生成器功能示例
Jul 24 PHP
PHP实现图片压缩
Sep 09 PHP
详解PHP变量传值赋值和引用赋值变量销毁
Mar 23 PHP
YII框架行为behaviors用法示例
Apr 26 PHP
Laravel获取当前请求的控制器和方法以及中间件的例子
Oct 11 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
提示Trying to clone an uncloneable object of class Imagic的解决
2011/10/27 PHP
Javascript调试工具(下载)
2007/01/09 Javascript
JS的递增/递减运算符和带操作的赋值运算符的等价式
2007/12/08 Javascript
javascript document.referrer 用法
2009/04/30 Javascript
JS获取DropDownList的value值与text值的示例代码
2014/01/07 Javascript
Js操作树节点自动折叠展开的几种方法
2014/05/05 Javascript
jQuery将多条数据插入模态框的示例代码
2014/09/25 Javascript
jQuery操作Table技巧大汇总
2016/01/23 Javascript
JavaScript数据存储 Cookie篇
2016/07/02 Javascript
js 获取范围内的随机数实例代码
2016/08/02 Javascript
JS中作用域和变量提升(hoisting)的深入理解
2016/10/31 Javascript
微信小程序 监听手势滑动切换页面实例详解
2017/06/15 Javascript
Angular实现的内置过滤器orderBy排序与模糊查询功能示例
2017/12/29 Javascript
JS抛物线动画实例制作
2018/02/24 Javascript
jQuery实现获取及设置CSS样式操作详解
2018/09/05 jQuery
vue 解决循环引用组件报错的问题
2018/09/06 Javascript
微信小程序实现省市区三级地址选择
2020/06/21 Javascript
vue中v-text / v-html使用实例代码详解
2019/04/02 Javascript
vue cli 3.0 搭建项目的图文教程
2019/05/17 Javascript
JS中的模糊查询功能
2019/12/08 Javascript
编写一个javascript元循环求值器的方法
2020/04/14 Javascript
[34:56]Ti4冒泡赛LGD vs Liquid 1
2014/07/14 DOTA
[02:23]完美世界全国高校联赛街访DOTA2第一期
2019/11/28 DOTA
python实现爬虫下载美女图片
2015/07/14 Python
基于Python中单例模式的几种实现方式及优化详解
2018/01/09 Python
python dataframe向下向上填充,fillna和ffill的方法
2018/11/28 Python
Python3.5面向对象编程图文与实例详解
2019/04/24 Python
python实现的多任务版udp聊天器功能案例
2019/11/13 Python
Python autoescape标签用法解析
2020/01/17 Python
Opodo英国旅游网站:预订廉价航班、酒店和汽车租赁
2018/07/14 全球购物
什么是Linux虚拟文件系统VFS
2015/08/25 面试题
幼儿园中秋节活动方案
2014/02/06 职场文书
教师批评与自我批评(群众路线)
2014/10/15 职场文书
2015年消费者权益日活动总结
2015/02/09 职场文书
六一儿童节主持开场白
2015/05/28 职场文书
关于战胜挫折的名言警句大全!
2019/07/05 职场文书