使用JSON实现数据的跨域传输的php代码

 更新时间:2011年12月20日 23:20:49   作者:  
某网站后台用php脚本得到一个JSON格式的数据,交给前台javascript进行处理,使用JSON实现数据的跨域调用
后台profile.php代码:
复制代码 代码如下:

<?php
$arr = array(
'firstname' => iconv('gb2312', 'utf-8', '非诚'),
'lastname' => iconv('gb2312', 'utf-8', '勿扰'),
'contact' => array(
'email' =>'fcwr@jb51.net',
'website' =>'https://www.jb51.net',
)
);
//将一个数组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 配置open_basedir 让各虚拟站点独立运行

    PHP 配置open_basedir 让各虚拟站点独立运行

    好几年前,我在抱怨Apache运行PHP的安全性不行,只要一个站点被人拿下,服务器上的其他站点就会跟着遭殃。
    2009-11-11
  • 详解PHP用mb_string处理windows中文字符

    详解PHP用mb_string处理windows中文字符

    如果想批处理以前下载的一堆文件,把文件里的关键内容用正则匹配出来,集中处理。操作文件时遇到一个问题,就是windows操作系统中的编码问题。本文将带着大家详细探讨此问题。
    2021-05-05
  • PHP实现猜数游戏

    PHP实现猜数游戏

    这篇文章主要为大家详细介绍了PHP实现猜数游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-12-12
  • php正则表达式验证(邮件地址、Url地址、电话号码、邮政编码)

    php正则表达式验证(邮件地址、Url地址、电话号码、邮政编码)

    这篇文章主要介绍了php正则表达式验证,实现邮件地址、Url地址、电话号码、邮政编码验证,感兴趣的小伙伴们可以参考一下
    2016-03-03
  • php多用户读写文件冲突的解决办法

    php多用户读写文件冲突的解决办法

    解决多调用同时写一个文件时我们会使用flock来解决些问题,这样同一时间只有一个用户可以写文件,同时其它用户进行等待队列了,下面我来介绍一下flock解决多用户读写文件冲空问题
    2013-11-11
  • 在Linux系统的服务器上隐藏PHP版本号的方法

    在Linux系统的服务器上隐藏PHP版本号的方法

    这篇文章主要介绍了在Linux系统的服务器上隐藏PHP版本号的方法,有助于预防攻击者针对PHP详细版本的漏洞而发起的攻击,需要的朋友可以参考下
    2015-06-06
  • PHP调试的强悍利器之PHPDBG

    PHP调试的强悍利器之PHPDBG

    这篇文章主要为大家详细介绍了PHP调试的强悍利器之PHPDBG的相关资料,感兴趣的小伙伴们可以参考一下
    2016-02-02
  • PHP封装的多文件上传类实例与用法详解

    PHP封装的多文件上传类实例与用法详解

    这篇文章主要介绍了PHP封装的多文件上传类实例与用法,结合实例形式详细分析了php多文件上传类的定义与具体使用方法,需要的朋友可以参考下
    2017-02-02
  • PHP5中使用PDO连接数据库的方法

    PHP5中使用PDO连接数据库的方法

    PDO(PHP Data Object) 是PHP 5 中加入的东西,是PHP 5新加入的一个重大功能,因为在PHP 5以前的php4/php3都是一堆的数据库扩展来跟各个数据库的连接和处理,什么 php_mysql.dll、php_pgsql.dll、php_mssql.dll、php_sqlite.dll等等。
    2010-08-08
  • PHP CURL与java http使用方法详解

    PHP CURL与java http使用方法详解

    这篇文章主要为大家详细介绍了PHP CURL与java http使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01

最新评论