gpt4 book ai didi

javascript - 来自 PHP 的 CodeIgniter 访问 Controller 需要

转载 作者:可可西里 更新时间:2023-10-31 23:39:08 25 4
gpt4 key购买 nike

我正在为我的项目使用 codeigniter,但我一直在尝试解决这个问题。

我有一些 javascript 需要执行 AJAX 调用以根据所选的下拉值获取一些结果。

function fetchLines(){
$.ajax({
url: baseURL + "resources/ajax.php?node=fetchLines",
type: 'GET',
cache: false,
data: {
lineType: 'business'
},
error: function(err) {
alert(err.statusText);
},
success: function(data) {

console.log(data);

}

});
}

在此 AJAX 文件中,我试图包含我的 Controller ,然后访问其中的函数。

<?php
define('BASEPATH', "AJAX");
require_once('../application/controllers/Project.php');


switch($_REQUEST['node']){

case 'fetchLines':
$objLines = new Project();
$objLines->fetchLines($_REQUEST['lineType']);
break;

}

?>

我的 CI Controller 然后有一个私有(private)函数,我试图调用它来获取我需要的数据:

private function fetchLines($lineType){
$lines = $this->project_model->fetchLines($lineType);
return $lines;
}

我的目标是让 AJAX 文件或 Controller (如果需要)用于我的所有 AJAX 调用。它需要能够访问 Controller 并返回数据。

使用上面的当前代码,我收到错误:Class 'CI_Controller' not found in <b>C:\xampp\htdocs\blueprint\application\controllers
\Project.php

有没有更好的方法来处理这种情况?我不是 OOP 专家,但一些阅读建议遵循这些思路。

最佳答案

为什么不将此请求发送到 Controller 方法?

        function fetchLines(){
$.ajax({
url: baseURL + "controller-name/method-name",
type: 'GET',
cache: false,
data: {lineType: 'business'},
error: function(err) {
alert(err.statusText);
},
success: function(data) {

console.log(data);

}

});
}

注意 并且在 Controller 中您可以访问这些值作为

function method-name(){
echo $this->input->get('lineType');
}

关于javascript - 来自 PHP 的 CodeIgniter 访问 Controller 需要,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31736354/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com