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> ';在我的视图页面中,当用户选择测试时,我希望将测试存储在会话中,并重定向到TestView页面。
我使用了上面的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);
}发布于 2013-12-23 15:03:02
在ajax post中,你必须遵循有效的格式。
这里,而不是
data: "id=' .$row->id .'",
试一试
data : { id : "<?php echo $row->id ?>" },
希望它能帮到你。谢谢
https://stackoverflow.com/questions/20738027
复制相似问题