Codeigniter & Ajax - данные Console.log возвращают целевую страницу CI в HTML - PullRequest
0 голосов
/ 20 февраля 2020

Я хочу console.log результат моего запроса, используя ajax, но он выводит страницу CI Landing в коде HTML.

JS:

 function getRouters(data)
  {
    $.ajax({
      type: 'POST',
      url: "http://localhost/ldcm/Main_controller/getRouters",
      data: data,
      success: function (data) {
        console.log(data);
      }
    });
  }

$('#generateRes').click(function () {
   var data = userDetailsObj.data.homesize.id + userDetailsObj.data.floors.id + userDetailsObj.data.internetPlan.id + userDetailsObj.data.devices.id;
   console.log(data);
   if(data) {
      getRouters(data);
   } else{

   }
});

Контроллер:

public function getRouters(){
                $data = $_POST['data'];
                $this->load->model('Query_Model');
                $data = $this->Query_Model->getRouters($data);

                echo json_encode($data);
        }

Модель:

public function getRouters($data)
        {
            $this->db->select('*');
            $this->db->where('id', $data);
            $q = $this->db->get('selection');
            $response = $q->result_array();
            return $response;
        }

Это должно печататься таким образом? Или я пропустил часть конфигурации в конфигурации?

Ответы [ 2 ]

0 голосов
/ 20 февраля 2020

Как я полагаю, ваш .htaccess код не работает. Во-вторых, вам нужно обновить код контроллера. Обновление ниже кода:

.htaccess

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /ldcm/
    RewriteCond $1 !^(index\.php|resources|robots\.txt)
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?/$1 [L,QSA]

</IfModule>

Контроллер

   public function getRouters()
   {
         $this->load->model('Query_Model');  
         $data = $_POST;
         $result = $this->Query_Model->getRouters($data);
         echo json_encode($result);
         exit();
    }

Как вы упомянули в комментарии, вы получая ошибку Unidentified index: data. это означает, что параметр data не получен в запросе POST. Проверьте ваш POST запрос, что вы получаете. И заменить $data = $_POST; на $data = $_POST['parameter'];

0 голосов
/ 20 февраля 2020

Попробуйте этот код.

function getRouters(data) { $.ajax({ type: 'POST', dataType: 'json', url: "http://localhost/ldcm/Main_controller/getRouters", data: data, success: function (data) { console.log(data); } }); }

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