我正在尝试通过添加javascript文件在项目简介页面上启动ajax调用。我需要显示一些额外的信息以及现有的项目简要信息。我在自定义模块中包含了一个javascript文件,并按照下面介绍的步骤进行操作。你能纠正我吗?如果我在这里遗漏任何东西。
我用$ .ajax({})来调用ajax请求,我的代码是这样的
$.ajax(
{
type: "post",
url: "index.php?path_info=projectfieldsextra",
'data' : { 'client_value' : 178},
success: function(el)
{
alert(el);
return false;
//$("#project").html(el);
}
});
在控制器中我创建了一个函数get_project_information(),在模块定义类中我创建了一个这样的路径
Router::map('projectfieldsextra', 'projectfieldsextra', array('controller' => 'project_fields', 'action' => 'get_project_information'));
但是当makinf打电话时,它给我一个这样的错误 -
Call to a member function isInlineCall() on a non-object in /opt/lampp/htdocs/activecollab/activecollab/4.0.13/angie/frameworks/environment/controllers/FwApplicationController.class.php on line 211
有人可以帮我解决这个问题吗?
提前致谢 Jayesh
答案 0 :(得分:0)
我最好的猜测是您的自定义控制器(ProjectFieldsController
)未正确设置(它没有正确接受构造参数并将它们传输到父类)。如果你要覆盖控制器的构造函数,你应该这样做:
/**
* Controller constructor
*
* @param Request $parent
* @param mixed $context
*/
function __construct($parent, $context = null) {
parent::__construct($parent, $context);
// Your code
}
请注意,您的代码还存在其他问题,但它们不是问题的一部分,因此我将简要地提及它们:
show_project_info
比showprojectinfo
更具可读性。这不是错误,但如果您遵循现有的命名约定,您将更容易与框架相处。