php 和 js之間使用json通信
阿新 • • 發佈:2017-06-11
鍵值 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通信