gpt4 book ai didi

php - 将值从 Controller 传递到 jQuery CodeIgniter

转载 作者:行者123 更新时间:2023-11-28 23:37:16 25 4
gpt4 key购买 nike

直接进入案例。

这是我的模型(学生模型)中的一些函数:

public function get_exam_data($exam_id){
$this->db->select('exam_id, exam_name, duration');
$this->db->from('exams');
$this->db->where('exam_id', $exam_id);
$result = $this->db->get();

$exam = array();
$examrow = $result->row();
$exam['id'] = $examrow->exam_id;
$exam['name'] = $examrow->exam_name;
$exam['duration'] = $examrow->duration;
return $result;
}

public function start_exam($exam_id, $student_id)
{
$this->db->select('*');
$this->db->from('exam_record');
$exam_newstatus = array(
'student_id' => $student_id,
'exam_id' => $exam_id);
$this->db->set('start_time', 'NOW()', FALSE);
$this->db->insert('exam_record', $exam_newstatus);

//$examrecord_id is autoincrement in mysql exam_record table
$examrecord_id = $this->db->insert_id();
return $examrecord_id;
}

这是学生 Controller 的一个功能:

public function get_student_exam_data()
{
$exam_id = $this->input->post('examId');
$examdata = $this->student_model->get_exam_data($exam_id);
$session = get_session_details();

if (isset($session->studentdetails) && !empty($session->studentdetails))
{
$loggeduser = (object)$session->studentdetails;
$examrecord_id = $this->student_model->start_exam($exam_id, $loggeduser->student_id);
}
echo json_encode($examdata);
}

这是我通过 Ajax 访问 $examdata 值的方式:

jQuery(function()
{
$.ajax({
type : "POST",
url : "../get_exam_data/",
async : false,
data : {"examId": EXAM_ID },
success: function(response)
{
var data = $.parseJSON(response);
examId = data.id;
examName = data.name;
examDuration = data.duration;
}
});
}

我希望能够从学生 Controller 传递 $examrecord_id 以在我的 jQuery 文件中使用它,就像 $examdata.我试图在 Controller 上使用 json_encode() 两次。没用。

如何将 $examrecord_idController 传递到 jQuery 文件?有人可以启发我吗?谢谢。

最佳答案

为您的 $examrecord_id 添加另一个索引

if (isset($session->studentdetails) && !empty($session->studentdetails))
{
$loggeduser = (object)$session->studentdetails;
$examrecord_id = $this->student_model->start_exam($exam_id, $loggeduser->student_id);
}
echo json_encode(array(
'examdata' => $examdata,
'examrecord_id' => (!empty($examrecord_id)?$examrecord_id:0)
));

注意简写 if 条件以检查 $examrecord_id 是否为 empty

添加一个 dataType 选项,其值为 'json'。然后就可以访问数据了

dataType : 'json',
success: function(response)
{
var data = response.examdata;
alert(response.examrecord_id); // your examrecord_id
examId = data.id;
examName = data.name;
examDuration = data.duration;
}

关于php - 将值从 Controller 传递到 jQuery CodeIgniter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35427005/

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