用Json实现PHP与JavaScript间数据交换的方法详解男篮
本例是PHP和javascript交互的例子,php中的值赋给js变量中,前提是这个php变量必须有值才行,就算是假分支中。
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。
简而论之,不管是xml还是json都是为了方便在客户端与服务器端交互数据的中转站,特别是用于对象型数据,比如最常见的数组。
比如php中的$flags在本例中为true,如果js中false语句写成:$title_1.innerHTML = "<?php echo $title;?>";就会出错,因为$title在php中被赋值为数组
下面将分别将数组从php传送给javascript,以及将数组从javascript传送给php示例说明,例子比较简单,明白概念即可。不管从php传送给javascript,还是javascript传送给php,json在传送之前都会将对象扁平化即一维化为字符串。
PHP 向 JavaScript 传值 PHP 文件 json.php
尽管在php的flags=="false";$title是一个字符串,情况是$title是数组,而数组在字符串中也是不能直接显示的。
复制代码 代码如下:
复制代码 代码如下:
<?php
$arr = array(
'name' => '脚本之家',
'nick' => 'Gonn',
'contact' => array(
'email' => 'xxxxxxx@163.com',
'website' => '//www.jb51.net',
)
);
$json_string = json_encode($arr);
echo "getProfile($json_string)";
?>
<?php
$string = "天上and地下";
$flags = "";
if(strpbrk($string,"and")!=false){
$title = explode("and",$string);
$title_1 = $title[0];
男篮世界杯波胆, $title_2 = $title[1];
$flags = "true";
}
else{
$title = $string;
$flags = "false";
}
?>
光执行这个文件,其结果如下:
—>html
复制代码 代码如下:
复制代码 代码如下:
getProfile({"name":"u5e0cu4e9a","nick":"Gonn",
"contact":{"email":"xxxxxxx@163.com","website":"//www.jb51.net"}})
<html>
<head>
<meta http-equiv=Content-Type
content="text/html;charset=utf-8">
<title></title>
<script type="text/javascript">
var display = function(){
var flags = "<?php echo $flags; ?>";
var $title_1 = document.getElementById("title_1");
var $title_2 = document.getElementById("title_2");
if(flags=="true"){
$title_1.innerHTML = "<?php echo $title[0];?>";
$title_2.innerHTML = "<?php echo $title[1];?>";
return;
}
if(flags=="false"){
$title_1.innerHTML = "<?php echo $string;?>";
//虽然这是一个假分支,照理这个$string可以替换成$title,但是虽然只是执行上边的真分支,但是编译的时候
//这个假分支也是必须编译的,所以echo
$title是错误的,因为$title是数组,只能是$string;
}
}
</script>
</head>
<body onload="display()">
<div id="title_1"></div>
<div id="title_2"></div>
</body>
</html>
json.php 是通过 json_encode 函数将数组扁平化,然后发送,相反有个
json_decode 函数。
那么在 JavaScript 如何调用呢?很简单,定义一个变量获取 PHP 传来的
Json,该 Json 具备对象的特性,我们可以用 array.name 这种方式来获取该
Json 的属性。
您可能感兴趣的文章:
- js获取php变量的实现代码
- php和javascript之间变量的传递实现代码
- 用php实现像JSP,ASP里Application那样的全局变量
- php使用json_encode对变量json编码
- php解析http获取的json字符串变量总是空白null
- PHP变量赋值、代入给JavaScript中的变量
- PHP JSON格式数据交互实例代码详解
- php后台程序与Javascript的两种交互方式
- 解析Extjs与php数据交互(增删查改)
- PHP与JavaScript针对Cookie的读写、交互操作方法详解
- php变量与JS变量实现不通过跳转直接交互的方法
复制代码 代码如下:
<script type="text/javascript">
function getProfile(str) {
var arr = str;
document.getElementById('name').innerHTML = arr.name;
document.getElementById('nick').innerHTML = arr.nick;
document.getElementById('email').innerHTML = arr.contact.email;
document.getElementById('website').innerHTML =
arr.contact.website;
}
</script>
<body>
<div id="name"></div>
<div id="nick"></div>
<div id="email"></div>
<div id="website"></div>
</body>
<script type="text/javascript" src="json.php"></script>
运行结果如下:
复制代码 代码如下:
脚本之家
Gonn
xxxxxxx@163.com
//www.jb51.net
JavaScript 向 PHP 传值 json_encode.html
复制代码 代码如下:
本文由美洲杯波胆发布于计算机教程,转载请注明出处:用Json实现PHP与JavaScript间数据交换的方法详解男篮
关键词: