[page_a.php]
<script>
function f1() {
$.ajax({
type: 'POST',
url: '<?= site_url("index.php/Controller_a/Method_a") ?>'
});}
</script>
[Controller_a.php]
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Controller_a extends CI_Controller {
public function Method_a() {
echo '<script>alert(":-)");</script>';
}}
Попробовал прописные буквы, расширил CI_Controller и index.php, но пока не повезло.
Я заметил, что если я использую
<?= site_url("Controller_a/Method_a") ?>
в html, так что он вызывается при загрузке / рендеринге страницы, затем метод найден и вызван, но просто не найден при динамическом вызове с Ajax / JS после загрузки страницы.
В консоли адрес
www.example.com/Controller_a/Method_a
Фактический адрес
www.example.com/web/content/application/controllers/Controller_a.php