gpt4 book ai didi

php - Codeigniter - 如何将 JSON 作为参数传递给 View

转载 作者:可可西里 更新时间:2023-11-01 01:04:49 25 4
gpt4 key购买 nike

<分区>

我正在构建一个 codeigniter/php 网络应用程序。我试图在加载 View 时将 JSON 对象从 Controller 传递到 View ,以一种 javascript 可以访问的方式。

JSON 如下所示:

{
"event": {
"id": "1",
"name": "Some name",
"description": "Some description",
"address": "1 Main st."
},
"members": {
"others": [
{
"id": "26",
"name": "Brad Black"
},
{
"id": "27",
"name": "Bill Blue"
}
],
"current": {
"id": "1",
"name": "Jill White"
}
}
}

Controller 代码如下所示:

public function index()
{
$some_data = $this->Some_model->get_some_data();

$some_data = json_encode($some_data);

$data = array (
'some_data' => $some_data
);

$this->load->view('some_view',$data);
}

View (some_view) 代码如下所示:

<script src="path/to/scripts/some_script.js" type="text/javascript"></script>

<script type="text/javascript">

some_data = "<?php echo $some_data?>";

</script>

<div class="main">
</div>

javascript (some_script) 代码如下所示:

var some_data;

$(document).ready(function(){

some_data = $.parseJSON(some_data);
});

挑战在于,由于 JSON 对象是作为字符串发送的(在 json_encode 之后),它包含 { 和引号等字符,当我将它分配给 var (some_data =“”;)。我也尝试过使用,但效果不佳。

我尝试做了很多没有用的事情,为了取得进展我暂时结束了替换 Controller 中的“ $data['some_data'] = str_replace('"', """, $some_data);

public function index()
{
$some_data = $this->Some_model->get_some_data();

$some_data = json_encode($some_data);

$data = array (
'some_data' => str_replace('"', "&quot;", $some_data);
);

$this->load->view('some_view',$data);
}

并替换 javascript 中的“back to”some_data = some_data.replace(/"/g, '"');

var some_data;

$(document).ready(function(){

event_data = event_data.replace(/&quot;/g, '"');
some_data = $.parseJSON(some_data);
});

这有点丑陋,我正在寻找更好的解决方案。

任何指点将不胜感激。

更新!问题已解决,看起来额外的引号破坏了一切。

解决方案与 mohan.gade 的答案一致:

Controller :

public function index()
{
$some_data = $this->Some_model->get_some_data();

$some_data = json_encode($some_data);

$data = array (
'some_data' => $some_data;
);

$this->load->view('some_view',$data);
}

查看:

    some_data = <?php echo $some_data?>;

</script>

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com