Как изменить URL-адрес текущей страницы при выполнении запроса ajax в ci? - PullRequest
0 голосов
/ 09 октября 2018

Я создал динамически зависимый раскрывающийся список, в котором я выбираю опцию и отправляю запрос контроллеру для получения данных из базы данных.Мне нужно отобразить имя выбранной опции в URL, как только данные будут получены из базы данных.Я не могу сделать это и получить тот же URL-адрес страницы.

Просмотр:

<script type="text/javascript">
            $(document).ready(function(){
                /* Populate data to state dropdown */
                $('#country').on('change',function(){
                    var countryID = $(this).val();
                     var countryName=  $('#country option:selected').html();
                            //  alert(countryName);
                    if(countryID){
                        $.ajax({
                            type:'POST',
                            url:'<?php echo base_url('bank/getDistrict'); ?>/'+countryName,
                            data:'country_id='+countryID,
                            success:function(data){
                                $('#state').html('<option value="">Select District</option>'); 
                                var dataObj = jQuery.parseJSON(data);
                                if(dataObj){
                                    $(dataObj).each(function(){
                                        var option = $('<option />');
                                        option.attr('value', this.id).text(this.district_name);           
                                        $('#state').append(option);
                                    });
                                }else{
                                    $('#state').html('<option value="">District not available</option>');
                                }
                            }
                        }); 
                    }else{
                        $('#state').html('<option value="">Select state first</option>');
                        $('#city').html('<option value="">Select district first</option>'); 
                    }
                });

Контроллер:

public function getDistrict(){
    $states = array();
    $country_id = $this->input->post('country_id');
    if($country_id){
        $con['conditions'] = array('state_id'=>$country_id);
        $states = $this->Bank_model->getDistrictRows($con);
    }
    echo json_encode($states);
}

Модель:

function getDistrictRows($params = array()){
    $this->db->select('s.id, s.district_name');
    $this->db->from($this->districtTbl.' as s');

    //fetch data by conditions
    if(array_key_exists("conditions",$params)){
        foreach ($params['conditions'] as $key => $value) {
            if(strpos($key,'.') !== false){
                $this->db->where($key,$value);
            }else{
                $this->db->where('s.'.$key,$value);
            }
        }
    }

    $query = $this->db->get();
    $result = ($query->num_rows() > 0)?$query->result_array():FALSE;

    //return fetched data
    return $result;
}

Мой текущий URL: http://localhost/real_estate/bank

После запроса я все еще получаю тот же URL.Это не добавление имени выбранной опции.Я хочу, чтобы мой URL был таким: http://localhost/real_estate/bank/delhi

Если я выбираю Дели из опции выбора

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...