1.1 交换数据
当数据在浏览器与服务器之间进行交换时,这些数据只能是文本。
JSON 属于文本,并且我们能够把任何 JavaScript 对象转换为 JSON,然后将 JSON 发送到服务器。
我们也能把从服务器接收到的任何 JSON 转换为 JavaScript 对象。
以这样的方式,我们能够把数据作为 JavaScript 对象来处理,无需复杂的解析和转译。
1.2 发送数据
如果您的数据存储在 JavaScript 对象中,您可以把该对象转换为 JSON,然后将其发送到服务器。
在客户端 发送数据
<h2>把 JavaScript 对象转换为 JSON 字符串,然后发送到服务器。</h2>
<script>
// 1.创建JavaScript 对象
var myObj = {
"name":"小余",
"age":19,
"city":"shanghai"
}
var myjson=JSON.stringify(myObj)
console.log(myjson,typeof myjson);
//发送服务器
window.location.href="http://localhost/demo.php?x="+myjson
</script>
注意:
window.location 对象用于获得当前页面的地址 (URL),并把浏览器重定向到新的页面。
1.3 接收数据
如果您以 JSON 格式接收到数据,您能够将其转换为 JavaScript 对象。
首先你要有一个php的文件(服务器端的一个文件,这个文件存在的目的: 接收 你发送过来的 数据)
<?php
header("content-type:text/html;charset=utf-8");
$name = '小余';
$age = 19;
$city = '安庆';
echo "<h1>demo_json.php:</h1>";
echo "来自 $city 的 $name 今年 $age 岁了。"
?>
服务器端的PHP文件,接收到客户端传递过来的JSON格式的数据,如何进一步处理?操作方法,如下所示:
//1.php接收数据 (JSON格式的数据)
$x = $_GET['x'];
//2.php将JSON格式的数据 转换
$p = json_decode($x);
echo "<pre>";
print_r($p);
echo "</pre>";
服务器端的PHP文件:
<?php
header("content-type:text/html;charset=utf-8");
//php接收数据
$x=$_GET['x'];
echo "<pre>";
print_r($x);
echo "</pre>";
//2.php将JSON格式的数据 转换
$p = json_decode($x,TRUE);
echo "<pre>";
print_r($p);
echo "</pre>";
$name= $p['name'];
$age= $p['age'];
$city= $p['city'];
echo "来自 $city 的 $name 今年 $age 岁了。"
?>
预览: