Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将json编码的php变量转换为同一文件中的JavaScript json对象_Javascript_Php_Json_Reactjs_Codeigniter - Fatal编程技术网

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

如何将json编码的php变量转换为同一文件中的JavaScript json对象,javascript,php,json,reactjs,codeigniter,Javascript,Php,Json,Reactjs,Codeigniter,为了服务器端渲染的目的,我将codeigniter与React集成。我无法将json编码的数据转换为javascript json对象。数据是一个对象数组 当我试图解析它时,我得到了意外的标记 在JSON错误中 <?php defined('BASEPATH') OR exit('No direct script access allowed'); ?> <!DOCTYPE html> <html lang = "en"> <head> &

为了服务器端渲染的目的,我将codeigniter与React集成。我无法将json编码的数据转换为javascript json对象。数据是一个对象数组

当我试图解析它时,我得到了意外的标记 在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>

CodeIgniter视图示例
.标题{
背景色:“#000”;
}
h1{
颜色:白色;
}
var服务=“”;
控制台日志(服务);

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

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

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

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

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

Ok。你想让我们猜测它返回什么格式,或者你愿意告诉我们/向我们展示吗?只需删除单引号
var services=,如果加引号,它就被当作字符串处理literal@Ghost非常感谢你。我很沮丧。你不知道这件小事是怎么毁了我整晚的。非常感谢。好啊你想让我们猜测它返回什么格式,或者你愿意告诉我们/向我们展示吗?只需删除单引号
var services=,如果加引号,它就被当作字符串处理literal@Ghost非常感谢你。我很沮丧。你不知道这件小事是怎么毁了我整晚的。非常感谢。