Heim > Backend-Entwicklung > PHP-Tutorial > 用Json实现PHP与JavaScript间数据交换的方法详解_PHP教程

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

WBOY
Freigeben: 2016-07-21 15:04:53
Original
1250 Leute haben es durchsucht

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。
简而论之,不管是xml还是json都是为了方便在客户端与服务器端交互数据的中转站,特别是用于对象型数据,比如最常见的数组。

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

复制代码 代码如下:

     $arr = array(
         'name' => '脚本之家',
         'nick' => 'Gonn',
         'contact' => array(
             'email' => 'xxxxxxx@163.com',
             'website' => 'http://www.jb51.net',
         )
     );
     $json_string = json_encode($arr);
     echo "getProfile($json_string)";
 ?>

光执行这个文件,其结果如下:
复制代码 代码如下:

getProfile({"name":"u5e0cu4e9a","nick":"Gonn",
"contact":{"email":"xxxxxxx@163.com","website":"http://www.jb51.net"}})

json.php 是通过 json_encode 函数将数组扁平化,然后发送,相反有个 json_decode 函数。
那么在 JavaScript 如何调用呢?很简单,定义一个变量获取 PHP 传来的 Json,该 Json 具备对象的特性,我们可以用 array.name 这种方式来获取该 Json 的属性。
复制代码 代码如下:


 
 

 

 

 

 
 

运行结果如下:
复制代码 代码如下:

脚本之家
 Gonn
 xxxxxxx@163.com
 http://www.jb51.net

JavaScript 向 PHP 传值
json_encode.html
复制代码 代码如下:


 
 
 
 json:From javascript To php
 
 
 

 

    

        
        


        
        


        


        


        


            
            
        


    


 
 

这里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->属性即可。

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/327745.htmlTechArticleJSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。 简而论之,不管是xml还是json都是为了方便在客户端与服务器端交互数据的中转站,...
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage