如何将JSON编码的php变量转换为同一文件中的javacript JSON对象

时间:2019-05-02 06:55:45

标签: javascript php json reactjs codeigniter

出于服务器端渲染的目的,我正在将Codeigniter与React集成在一起。我在将JSON编码的数据转换为JavaScript JSON对象时遇到麻烦。数据是对象数组。

当我尝试JSON.parse时,我得到了意外的令牌  JSON错误。

<?php
defined('BASEPATH') OR exit('No direct script access allowed');
?>
<!DOCTYPE html> 
<html lang = "en"> 

<head> 
<script crossorigin 
src="https://unpkg.com/react@16/umd/react.development.js"></script>
<script crossorigin src="https://unpkg.com/react-dom@16/umd/react- 
   dom.development.js"></script>
<script src = "https://cdnjs.cloudflare.com/ajax/libs/babel- 
standalone/6.26.0/babel.js"></script>
  <meta charset = "utf-8"> 
  <title>CodeIgniter View Example</title> 
  <style>
  .header{
    background-color:'#000';

  }
  h1{
    color:'white';
  }
  </style>
</head>

 <body> 
  <?php $this->load->view('templates/header'); ?> 


 <div id = 'root'>

  </div>

   </body>
<script type="text/javascript">
   var services = '<?php echo json_encode($services); ?>';
   console.log(services);
 </script>
</html>

代码输出的字符串包含所有数据,但不是JSON格式。

1 个答案:

答案 0 :(得分:2)

删除php周围的引号,您想要一个js对象而不是字符串

var services = <?php echo json_encode($services); ?>;