На мой взгляд, у меня есть элемент ввода, который получает дату, когда он получает эту дату, он генерирует событие, где я хотел бы выполнить функцию модели, которая делает запрос в базе данных на основе полученной даты.Как это сделать?
[обновление] 09-03-19 - Вызов контроллера из представления ajax-запроса и модели калибровки контроллера
[Проблема] - Ответом на запрос является мой home.php (мой взгляд)
У POST есть следующий URL "http://localhost/project/controller/method", и проверяющий код ->Сеть
Общая информация
Request URL: http://localhost/calendar/basecontroller/getagendadate
Request Method: POST
Status Code: 200 OK
Remote Address: [::1]:80
Referrer Policy: no-referrer-when-downgrade
Заголовки запросов
Accept: */*
Accept-Encoding: gzip, deflate, br
Accept-Language: pt-BR,pt;q=0.9,en-US;q=0.8,en;q=0.7
Connection: keep-alive
Content-Length: 54
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Cookie: csrf_cookie_name=80c14ce169a5f8110be579a59693e058
Host: localhost
Origin: http://localhost
Referer: http://localhost/calendar/
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36
X-Requested-With: XMLHttpRequest
Заголовки ответов
Connection: Keep-Alive
Content-Type: text/html; charset=UTF-8
Date: Sat, 09 Mar 2019 15:13:34 GMT
Keep-Alive: timeout=5, max=98
Server: Apache/2.4.38 (Win64) OpenSSL/1.0.2q PHP/5.6.40
Set-Cookie: csrf_cookie_name=c3d91845df538fa001c64267f440fc32; expires=Sat, 09-Mar-2019 17:13:34 GMT; Max-Age=7200; path=/
Transfer-Encoding: chunked
X-Powered-By: PHP/5.6.40
[Контроллер]
public function getAgendaDate(){
$sql = 'select * from agenda';
$result = $this->db->query($sql);
$send = array('token' => $this->security->get_csrf_hash());
if (!headers_sent()) {
header('Cache-Control: no-cache, must-revalidate');
header('Expires: ' . date('r'));
header('Content-type: application/json');
}
exit(json_encode($send, JSON_FORCE_OBJECT));
}
[Просмотр]
$(document).ready(function() {
//initialize CFG
CFG = {
url: '<?php echo $this->config->item('base_url');?>',
token: '<?php echo $this->security->get_csrf_hash();?>',
name: '<?php echo $this->security->get_csrf_token_name();?>'
};
// setup token
$.ajaxSetup({data: {token: CFG.token}});
$(document).ajaxSuccess(function(e,x) {
var result = $.parseJSON(x.responseText);
$.ajaxSetup({data: {token: result.token}});
});
}).
// this request run when dispacher an onclick event
$.ajax({
url: "basecontroller/getagendadate",
type: "POST", //send it through get method
data: {
date: '02-02-2019'
},
success: function(response) {
console.log(response);
},
error: function(xhr) {
//Do Something to handle error
console.log(xhr)
}
});
[Проблема] -Проблема в том, что в ответ на запрос я получаю весь код со страницы индекса, поэтому я предполагаю, что проблема должна быть с .htaccess.
[. Htaccess] весь код
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
Почему, когда я запрашиваю метод контроллера? Я перенаправлен на мою домашнюю страницу?