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

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

Jun 13, 2016 am 11:46 AM
javascript json o php 그리고 교환 성취하다 데이터 방법 사용 ~의 상해

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->属性即可。
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

뜨거운 기사 태그

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Ubuntu 및 Debian용 PHP 8.4 설치 및 업그레이드 가이드 Ubuntu 및 Debian용 PHP 8.4 설치 및 업그레이드 가이드 Dec 24, 2024 pm 04:42 PM

Ubuntu 및 Debian용 PHP 8.4 설치 및 업그레이드 가이드

PHP 개발을 위해 Visual Studio Code(VS Code)를 설정하는 방법 PHP 개발을 위해 Visual Studio Code(VS Code)를 설정하는 방법 Dec 20, 2024 am 11:31 AM

PHP 개발을 위해 Visual Studio Code(VS Code)를 설정하는 방법

문자열로 모음을 계산하는 PHP 프로그램 문자열로 모음을 계산하는 PHP 프로그램 Feb 07, 2025 pm 12:12 PM

문자열로 모음을 계산하는 PHP 프로그램

PHP에서 HTML/XML을 어떻게 구문 분석하고 처리합니까? PHP에서 HTML/XML을 어떻게 구문 분석하고 처리합니까? Feb 07, 2025 am 11:57 AM

PHP에서 HTML/XML을 어떻게 구문 분석하고 처리합니까?

상위 10 개 글로벌 디지털 통화 거래 앱 권장 (2025 통화 거래 소프트웨어 순위) 상위 10 개 글로벌 디지털 통화 거래 앱 권장 (2025 통화 거래 소프트웨어 순위) Mar 12, 2025 pm 05:48 PM

상위 10 개 글로벌 디지털 통화 거래 앱 권장 (2025 통화 거래 소프트웨어 순위)

BTC Trading 앱을 설치하고 등록하는 방법은 무엇입니까? BTC Trading 앱을 설치하고 등록하는 방법은 무엇입니까? Feb 21, 2025 pm 07:09 PM

BTC Trading 앱을 설치하고 등록하는 방법은 무엇입니까?

어떤 디지털 통화 앱 거래 소프트웨어가 가장 좋습니까? 어떤 디지털 통화 앱 거래 소프트웨어가 가장 좋습니까? Mar 07, 2025 pm 06:45 PM

어떤 디지털 통화 앱 거래 소프트웨어가 가장 좋습니까?

상위 10 개의 가상 디지털 통화 거래 플랫폼 2025 순위, 상위 10 개 가상 통화 앱 교환 상위 10 개의 가상 디지털 통화 거래 플랫폼 2025 순위, 상위 10 개 가상 통화 앱 교환 Feb 21, 2025 pm 09:03 PM

상위 10 개의 가상 디지털 통화 거래 플랫폼 2025 순위, 상위 10 개 가상 통화 앱 교환

See all articles