我有麻烦如何从我的控制器得到返回的json到我的视图。数据的传递已经可以了,但我不知道如何解码或获得json编码的具体值。
所有我想要的是存储我的json的特定值到一个变量以供进一步使用。像这样:
$project_name = val.($json['project_name');
下面是我的代码:
function showprojectdetails(projectSelected) {
var studentId = null;
$.ajax({
url : "<?php echo site_url('manager/projects/ProjDetails/')?>/" + projectSelected,
type: "GET",
dataType: "JSON",
success: function(data) {
$json = json_decode(data, true);
alert($json['project_code'];);
},
error: function (jqXHR, textStatus, errorThrown) {
alert('Error get data from ajax');
}
});
}
my Controller:
function ProjDetails($project_title) {
$data = $this->project->getProjDetails($project_title);
echo json_encode($data);
}
My model:
function getProjDetails($project_title) {
$this->db->from('project');
$query = $this->db->query('SELECT * from project where project_code = "'.$project_title.'" ');
return $query->row();
}
你不需要在js中解码这个值。Json_encode将数组转换为json字符串。视图中得到的已经是json了。你只需要使用它。
这将在控制台显示json字符串。
console.log(data)
使用data['project_code']
您应该将PHP函数
json_encode($your_json_string);
with JS
JSON.parse(response);
如:
function showprojectdetails(projectSelected) {
var studentId = null;
$.ajax({
url : "<?php echo site_url('manager/projects/ProjDetails/')?>/" + projectSelected,
type: "GET",
dataType: "JSON",
success: function(data) {
var json = JSON.parse(data);
//do the magic you wanted to do like alert(json);
},
error: function (jqXHR, textStatus, errorThrown) {
alert('Error get data from ajax');
}
});
}