Я пытаюсь запустить функцию getVideos() со своего контроллера с помощью ajax, но получаю ошибку 404.
Есть ли проблемы с URL-адресом или маршрутом?
videos.php (Контроллер)
public function getVideos(){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $apiUrl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$data = curl_exec($ch);
echo json_encode($ch);
}
main.js
$.get("videos/getVideos", function(data, status){
console.info(data);
});
routes.php
$route["videos"] = "videos/get_videos/";
Чего ждать! Как зовут ваш контроллер и находится ли он в каталоге с названием videos?
вы уверены, что вам нужны маршруты для этого? какая у вас файловая структура для этого?
Просто используйте URL-адрес, который вам не нужно перенаправлять, и если ваш контроллер находится внутри папки, передайте полную структуру, такую как этот site_url('videos/get_videos/getVideos') .. если это структура, которую вы используете
@SherifSalah: да, это более или менее сработало. PHP site_url() и base_url() не работают (не знаю почему), но сохранение его значения в переменной js выполняет свою работу.
Замечательно, рад, что это сработало, братан. Что касается site_url и base_url, вам нужно вручную установить base_url в config.php, если он не работает должным образом.
@SherifSalah на самом деле работает в файлах php, но не в js, поэтому я не понимаю
Вы хотите, чтобы PHP-код выполнялся в файле .js? .. если вы хотите использовать php внутри скрипта, напишите скрипт внутри файла .php, а не файла .js
или сохраните переменную в глобальной переменной js в заголовке php, и тогда она будет доступна во всех файлах .js, если они вызываются после объявления var. похоже, что вы это сделали - но да, это правильный способ сделать это.





Это, наверное, поможет
site_url('videos/getVideos')
или напишите полный URL-адрес в своем ajax
mydomain.com/videos/getVideos
и, кстати, вам не нужно создавать для него маршрут вручную, потому что структура codeigniter позволяет автоматически генерировать маршрут для вас через контроллер и метод.
Помогите этому дать вам представление.
Попробуй этот
site_url('videos/getVideos')