点击按钮时,它应该重定向到ajax中的另一个页面

时间:2017-02-28 10:10:25

标签: jquery ajax codeigniter

我的应用程序中有一个视图要求页面。我有一个名为working的按钮。当用户点击按钮时,我通过使用ajax函数将需求表0中的状态更改为1 ..

所以现在的问题是,当用户点击工作按钮时,按钮应该重定向到另一个页面..

我试了很多..但我不能这样做..

按钮:

<td><button id="<?php echo $idata->req_id; ?>" onClick="CallFunction(this.id)"  class="btn btn-info">working</button></td> 

Ajax功能:

 function CallFunction(id)

{

  var url =  'http://127.0.0.1/job_portal/index.php/Requirements/change_status/';

        $.ajax({
        url: url,
        type: 'POST',
        data: {req_id: id},
        dataType: 'JSON',
        success: function(data) 
        {    
            if (data === true) {
                $('#button').text('FINISHED');
         }

            else
            {
              alert('error');
            }
        }
      });
}

</script>

我认为成功功能不起作用..

任何人都可以帮助我......如何做到这一点..

提前致谢..

1 个答案:

答案 0 :(得分:1)

使用以下代码解决您的问题

在脚本文件中

function CallFunction(id) {
var url = 'http://localhost/job_portal/index.php/Requirements/change_status/';

    $.ajax({
    url: url,
    type: 'POST',
    data: {req_id: id},
    dataType: 'test',
    beforeSend: function(){ $("#"+id).html('please Wait...'); },
    success: function(data) 
    {  
        console.log(data);
        var obj = $.parseJSON(data)
        if(obj.status == 'success')
        {
          $("#"+id).html('Updated');
          window.location.href=window.location.href=obj.url;
        }
    },
    error:function(a,b,c)
    {
      console.log(c);
    }
  });

}

在您的控制器中

public function change_status() 
{ 
    $req_id = $this->input->post('req_id'); 
    $this->RequirementModel->update_status($req_id); 
    $d = $this->RequirementModel->send_email($data['req_id']); 
    echo json_encode(array('status' => 'success', 'url' => base_url('Candidate/add_candidate')));  
    //echo true; 
    exit; 
}

在您的模型中

function update_status($req_id) 
{ 
    $this->db->select('*'); 
    $this->db->from('requirements'); 
    $status = $this->db->query("update requirements set working_status='1' where req_id ='$req_id'"); 
    $data=array('working_status'=>$status); 
    $this->db->where('req_id',$req_id); 
    //$this->db->update('candidates_details',$data); 
    //$query=$this->db->get(); 
    //echo $this->db->last_query(); 
    //return $query->result(); 

}

在您的send_email函数中

print_r($to); //-> comment this line

如果您在此问题上需要更多指南,我们会将其整理出来