gpt4 book ai didi

php - 在 Jquery 中解析 json_encode 返回

转载 作者:太空宇宙 更新时间:2023-11-03 10:54:12 24 4
gpt4 key购买 nike

我是 json 的新手,我很难弄清楚如何解析特定的 json 响应。我确实在该主题中进行了很多搜索,但没有找到适合或适用于我的情况的内容。所以请直截了本地提出这个问题,因为我知道它看起来像是重复的。

让我先描述一下我的场景。

我有一个Mysql表

表结构

mysql> describe faculty;
+-----------------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------------------+-------------+------+-----+---------+-------+
| faculty_id | varchar(8) | NO | PRI | NULL | |
| faculty_name | text | NO | | NULL | |
| department_id | varchar(8) | YES | MUL | NULL | |
| department_name | text | NO | | NULL | |
| profile_pic | text | NO | | NULL | |
| designation | text | NO | | NULL | |
| doj | date | NO | | NULL | |
| email | text | NO | | NULL | |
| highest_qualification | varchar(10) | YES | | NULL | |
| industrial_exp_yr | smallint(6) | YES | | NULL | |
| industrial_exp_month | smallint(6) | YES | | NULL | |
| teaching_exp_yr | smallint(6) | YES | | NULL | |
| teaching_exp_month | smallint(6) | YES | | NULL | |
| area_of_interest | text | NO | | NULL | |
| national_pub | smallint(6) | YES | | NULL | |
| international_pub | smallint(6) | YES | | NULL | |
+-----------------------+-------------+------+-----+---------+-------+
16 rows in set (0.01 sec)

我的 JS:

 $("#up_dept").change(function() {
var dept = $('#up_dept option:selected').text();
$.ajax({
url: "proc/get_flist.php",
type: "POST",
data: {
dept: dept
},
dataType: "json",
async: true,
cache: false,
success: function(response) {
// Tried naive forloop
// JSON.Parse
// Nothing worked so kept blank
}
});
});

PHP

$fac = new Faculty();
$dept = trim($_POST["dept"]);
$facul_list = $fac->faculty_list($dept);
echo json_encode($facul_list);

faculty_list 函数

function faculty_list($dept_name) {
try {
$db = new PDO(DB_CONN, DB_USER, DB_PASS);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$query = "select * from faculty where department_name ='" . $dept_name . "';";
$stmt = $db->query($query);
if ($stmt->rowCount() > 0) {
$list = $stmt->fetchAll();
$db = null;
return $list;
} else {
return "NULL";
}
} catch (PDOException $ex) {
echo $ex->getMessage();

//utils::log_error($ex -> getMessage());
}
}

回应

[{"faculty_id":"fac_001","0":"fac_001","faculty_name":"Arnab Roy","1":"Arnab Roy","department_id":"dep_002","2":"dep_002","department_name":"Electrical Engineering","3":"Electrical Engineering","profile_pic":"card-arnab.png","4":"card-arnab.png","designation":"Asst. Prof","5":"Asst. Prof","doj":"2014-01-07","6":"2014-01-07","email":"arnab@gmail.com","7":"arnab@gmail.com","highest_qualification":"M.Tech","8":"M.Tech","industrial_exp_yr":0,"9":0,"industrial_exp_month":0,"10":0,"teaching_exp_yr":3,"11":3,"teaching_exp_month":0,"12":0,"area_of_interest":"CURCITS","13":"CURCITS","national_pub":0,"14":0,"international_pub":0,"15":0},{"faculty_id":"fac_002","0":"fac_002","faculty_name":"Utsav Banerjee","1":"Utsav Banerjee","department_id":"dep_002","2":"dep_002","department_name":"Electrical Engineering","3":"Electrical Engineering","profile_pic":"fac_002_ad-learning-centre.jpg","4":"fac_002_ad-learning-centre.jpg","designation":"Asst. Prof","5":"Asst. Prof","doj":"2014-02-09","6":"2014-02-09","email":"utsav@gmail.com","7":"utsav@gmail.com","highest_qualification":"M.Tech","8":"M.Tech","industrial_exp_yr":5,"9":5,"industrial_exp_month":0,"10":0,"teaching_exp_yr":0,"11":0,"teaching_exp_month":6,"12":6,"area_of_interest":"CIRCITS , BLOB ","13":"CIRCITS , BLOB ","national_pub":0,"14":0,"international_pub":3,"15":3}]

现在,我需要能够 console.log 响应的每个字段说,

response.faculty_id[0];

请帮我解决这个问题。我不太确定响应是否是有效的 json。

最佳答案

response是一个数组,需要循环一下

success: function(response) {
$.each(response, function(index, data) {
console.log(data.faculty_id);
});
// get the first one only
console.log(response[0], response[0].faculty_id);
}

关于php - 在 Jquery 中解析 json_encode 返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22033227/

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