1. 程式人生 > >php 和 js之間使用json通信

php 和 js之間使用json通信

鍵值 type 依然 字符 從數據 信息 轉換成 數據轉換 行處理

  有時候我們需要用後臺從數據庫中得到的數據在js中進行處理,但是當從php中獲取到數據的時候,使用的是鍵值對形式的多維關聯數組。而我們知道,js只支持索引數組,不支持關聯數組,這個時候從後臺傳遞過來的數據,在js中是無法直接進行處理的。比如我們在後臺index.php中從數據庫中獲取用戶信息的數據,在php中的形式是:

[["name"=>"jyy","age"=>"26"],["name"=>"ccc","age"=>"44"];

當我們使用ajax將這個多維數組通過echo傳遞到js後,我們在控制臺輸出後,顯示的是Array。使用typeof一看,是個string。也就是說,我們獲取到的是“Array"這個字符串,並沒有直接得到數據,想想也知道,這樣是不可能得到的。

  另外,我們知道js操作類似php中的關聯數組是使用對象或是json的形式。因此我們在傳給js的時候就需要先將php中的數據轉換成json形式,這樣js中就能夠操作這些數據了

那麽在php中是使用json_ecode()方法實現的。比如:數據對象為$data,那麽傳遞給js的代碼就是:

echo json_ecode($data);

  這個時候,我們在js中使用控制臺輸出這個數據,得到的是:

[{"name":"jyy","age":"26"},{"name":"ccc","age":"44"}]

通過typeof檢查,得到的依然是String。依然需要進一步處理,將其轉換成js的json格式,這個時候我們使用的是js中的JSON_parse():將字符串轉換成json對象。

  至此問題解決。

  

php 和 js之間使用json通信