PHP中JSON的跨域调用
2015-06-25 12:13
555 查看
主调文件index.html
被调文件profile.php
显然,当index.html调用profile.php时,JSON字符串生成,并作为参数传入getProfile,然后将昵称插入到div中,这样一次跨域数据交互就完成了。
注意:当json数据值中包含中文时,记得使用PHP编码转化iconv函数进行编码转化iconv('gb2312','utf-8','笑哈哈'),将中文编码gb2312转化为utf-8。
json_encode()函数只能接受 UTF-8 编码的数据,否者中文部分会变为NULL。
<script type="text/javascript"> function getProfile(str) { var arr = str; document.getElementById('nick').innerHTML = arr.nick; } </script> <body><div id="nick"></div></body> <script type="text/javascript" src="http://www.openphp.cn/demo/profile.php"></script>
被调文件profile.php
<?php $arr = array( 'name' =>iconv('gb2312','utf-8','笑哈哈'), 'nick' => iconv('gb2312', 'utf-8','哈哈'), 'contact' => array( 'email' => 'shenkong at qq dot com', 'website' => 'http://www.chinaz.com', ) ); $json_string = json_encode($arr); echo "getProfile($json_string)"; ?>
显然,当index.html调用profile.php时,JSON字符串生成,并作为参数传入getProfile,然后将昵称插入到div中,这样一次跨域数据交互就完成了。
注意:当json数据值中包含中文时,记得使用PHP编码转化iconv函数进行编码转化iconv('gb2312','utf-8','笑哈哈'),将中文编码gb2312转化为utf-8。
json_encode()函数只能接受 UTF-8 编码的数据,否者中文部分会变为NULL。
相关文章推荐
- [php] thinkphp递归实现无限分类
- php获取、检查类名、函数名、方法名的函数方法
- PHP找出一堆词中以某个字开头的所有词
- php 正则校验是否是域名
- PHPMyadmin 配置文件详解(配置)
- PHP下编码转换函数mb_convert_encoding与iconv区别
- yii运行机制
- PHP设计模式之调解者模式
- 各版本的STP BPDU
- cisco交换机端口聚合、VTP、ACL配置实例
- Ubuntu tftp服务器的配置
- php header函数的常用http头设置
- thinkphp中如何导入js和css文件
- Sublime - php 代码格式化插件
- php生成订单号的解决方案
- PHP里的单例类写法实例
- PHP合并数组+号和array_merge的区别
- PHP设计模式
- 关于PHPstorm的代码补全
- VM8下RedHat9上网配置,vsftpd同样可以用