php 和 js之間使用json通訊

來源:互聯網
上載者:User

標籤:個數   顯示   array   處理   支援   pre   進一步   json格式   資料   

  有時候我們需要用後台從資料庫中得到的資料在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通訊

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.