echo '<script>$("#start").click(function() {
$.ajax({
type: "POST",
url: "'. base_url() .'StartTest/session",
data: "id=' .$row->id .'",
success: function (result) {
alert(result);
if(result == "' .$row->id .'"){
window.location.replace("'. base_url() .'StartTest/index/0");
}
}
});
});
</script> ';
在我的查看頁面中,當用戶選擇測試時,我想將testid存儲在會話中並重定向到TestView頁面。Codeigniter - Ajax不工作無返回值
我使用了上面的ajax,但沒有發生任何事情後,我點擊啓動鏈接。 下面是我的控制器類:
public function session(){
if($this->input->post('id')){
$s_v = array(
'testid' => $this->input->post('id')
);
$this->session->set_userdata($s_v);
echo $this->session->userdata('testid');
}else{
echo "asd";
}
}
public function index(){
// Get Test ID
$id = $this->session->userdata('testid');
...
$this->pagination->initialize($config);
$page = ($this->uri->segment(4)) ? $this->uri->segment(4) : 0;
$data['question'] = $this->TestModel->getAllQuestion($id, $page);
$data['links'] = $this->pagination->create_links();
$this->load->view('TestView',$data);
}
你在哪裏返回數據到客戶端? –
其實我不需要返回我的流程,當點擊開始按鈕時,ajax - > StartTest/session store測試id然後window.location.replace(「'。base_url()。'StartTest/index/0」);去TestView,對不起,我是codeigniter的初學者,所以不確定這個概念是否正確 – user236501
如果這個概念錯了,或者有更好的方法,請指教。 – user236501