如何使用发送到控制器的数据重定向ajax中的页面

时间:2019-05-22 07:03:06

标签: javascript php jquery ajax codeigniter

我想在成功后重定向另一个页面, 代码工作正常,但我无法获取通过的数据

这是我的jQuery

     $.ajax({
         type:'GET',
         url:link,
         data:data,
         success:function(response){
             alert(response);
             if(response === 'true'){
                 $('.message').html('No table found for the specified number of guests.');
             }
             else if(response === 'false'){
                 $('.message').html('The Restaurant is full on this date and time.');
             }
             else{
                  window.location.href = link;
             }
         }
     });
 });

这是我的控制器

public function myReservation(){


        $location= $this->input->get('location');
        $guest= $this->input->get('guest');
        $date= $this->input->get('date');
        $time= $this->input->get('time');
        $result =$this->reservation_model->getTables($guest);
        $query = $this->reservation_model->getReservations($location,$guest,$date,$time);
        if($result){
            echo 'true';
        }
        else if($query){
            echo 'false';
        }else{
        $queryy['getData'] = $this->input->get();
        $this->load->view('my_reservation',$queryy);
        }
    }

在没有获取数据的情况下重定向页面不会显示错误

1 个答案:

答案 0 :(得分:0)

myReservation()函数中,您对else块所做的尝试不起作用。您正在通过ajax调用一个函数,如果结果既不是true也不是false,那么您想使用传递的值重定向到该函数,这是一种方法。在这里,您正在ajax选项中传递数据。取而代之的是,您可以按如下所示修改链接:

var link = 'myReservation?location=location_value&guest=guest_value&date=date_value&time=time_value'

然后从ajax中删除data选项。 这样,当响应既不是true也不是false时,您将能够使用值重定向到myReservation