所以我有一个由 AJAX 请求调用的脚本,它位于 CI 安装根目录下名为“ajax”的文件夹中。我的 ajax 文件顶部有这段代码:
define("BASEPATH", "../../system/");
include("../../application/config/database.php");
所以它成功地抓取了 database.php 文件,但它告诉我“没有选择数据库”。为什么?
所以我有一个由 AJAX 请求调用的脚本,它位于 CI 安装根目录下名为“ajax”的文件夹中。我的 ajax 文件顶部有这段代码:
define("BASEPATH", "../../system/");
include("../../application/config/database.php");
所以它成功地抓取了 database.php 文件,但它告诉我“没有选择数据库”。为什么?
在模型中输出数据打破了 codeIgniter 旨在实现的 mvc 的传统结构。但是,mvc 是一种设计模式,而不是严格的标准,因此您不会伤害任何人,除了您自己和其他人,他们将在未来追随您或使用您的代码。
就像 AndrewR 建议的那样,为什么不对控制器进行 ajax 调用[再次因为这是 mvc 的约定]?如果它位于 app 文件夹之外,那么它可能无法通过网络浏览器访问。
您也可以像这样获取codeigniter的全局对象的实例$_CI =& get_instance();
并像这样加载数据库对象$db = $_CI->load('database');
希望这可以帮助!