出于服务器端渲染的目的,我将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格式。
发布于 2019-05-02 14:58:30
去掉php两边的引号,您需要的是js对象而不是字符串。
var services = <?php echo json_encode($services); ?>;https://stackoverflow.com/questions/55947112
复制相似问题