json 来实现 php 与 javascript,用Json实现PHP与JavaScript间数据交换的方法详解

用Json实现PHP与JavaScript间数据交换的方法详解

发布于 2014-12-12 09:54:31 | 158 次阅读 | 评论: 0 | 来源: 网友投递

PHP开源脚本语言PHP(外文名: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,入门门槛较低,易于学习,使用广泛,主要适用于Web开发领域。PHP的文件后缀名为php。

本文为大家讲解的是如何用Json实现PHP与JavaScript间进行数据交换的方法详解,感兴趣的同学参考下。

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。

简而论之,不管是xml还是json都是为了方便在客户端与服务器端交互数据的中转站,特别是用于对象型数据,比如最常见的数组。

下面将分别将数组从php传送给javascript,以及将数组从javascript传送给php示例说明,例子比较简单,明白概念即可。不管从php传送给javascript,还是javascript传送给php,json在传送之前都会将对象扁平化即一维化为字符串。

PHP 向 JavaScript 传值

PHP 文件 json.php

$arr = array(

'name' => 'phperz中文网',

'nick' => 'Gonn',

'contact' => array(

'email' => 'xxxxxxx@163.com',

'website' => 'http://www.phperz.com',

)

);

$json_string = json_encode($arr);

echo "getProfile($json_string)";

?>

光执行这个文件,其结果如下:

getProfile({"name":"u5e0cu4e9a","nick":"Gonn",

"contact":{"email":"xxxxxxx@163.com","website":"http://www.phperz.com"}})

json.php 是通过 json_encode 函数将数组扁平化,然后发送,相反有个 json_decode 函数。

那么在 JavaScript 如何调用呢?很简单,定义一个变量获取 PHP 传来的 Json,该 Json 具备对象的特性,我们可以用 array.name 这种方式来获取该 Json 的属性。

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;

}

运行结果如下:

php中文网

Gonn

xxxxxxx@163.com

http://www.phperz.com

JavaScript 向 PHP 传值

json_encode.html

json:From javascript To php

function JSON_test(o)

{

var user = {

name:document.getElementById('txt_name').value,

email:document.getElementById('txt_email').value,

password:document.getElementById('txt_password').value

}

var json_string = JSON.stringify(user);

document.getElementById('txt_json').value=json_string;

alert("点击确定后将提交表单");

o.submit();

}

姓名

邮箱

密码

这里javascript扁平化需要一个插件:http://www.json.org/json2.js,通过JSON.stringify(str)将对象扁平化然后传送给php。

注:另有一个http://www.json.org/json.js,对应的是toJSONString方法。

var last=obj.toJSONString(); //针对json.js

var last=JSON.stringify(obj); //针对json2.js

json_encode.php

header('Content-Type: text/html; charset=utf-8');

$json_string = $_POST["txt_json"];

//echo $json_string;

if(ini_get("magic_quotes_gpc")=="1")

{

$json_string=stripslashes($json_string);

}

$user = json_decode($json_string);

echo var_dump($user);

echo '
';

echo $user->name.'
';

echo $user->email.'
';

echo $user->password.'
';

?>

这里就需要用到json_decode()这个函数,然后调用其中数据用 $obj->属性即可。

相关阅读:

用Json实现PHP与JavaScript间数据交换的方法详解

php使用Snoopy进行数据采集的方法详解

PHP实现基于回溯法求解迷宫问题的方法详解

PHP实现限制IP访问及提交次数的方法详解

php创建基本身份认证站点的方法详解

多键值cookie(php中cookie存取数组)的方法详解

PHP抓取及分析网页的方法详解

编写php应用程序实现摘要式身份验证的方法详解

php使用mysql_fetch_array()获取当前行数据的方法详解

PHP中filter函数校验数据的方法详解

php利用ffmpeg提取视频中音频与视频画面的方法详解

PHP实现查询手机归属地的方法详解

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值