Как преобразовать jp-кодированную переменную php в объект JSON JavaScript в том же файле - PullRequest
0 голосов
/ 02 мая 2019

Я интегрирую codeigniter с React для целей рендеринга на стороне сервера.У меня возникли проблемы с преобразованием данных, закодированных в json, в объект JSON JavaScript.Данные представляют собой массив объектов.

Когда я пытаюсь 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 Ответ

2 голосов
/ 02 мая 2019

Удалите кавычки вокруг php, вам нужен объект js, а не строка

var services = <?php echo json_encode($services); ?>;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...