从控制器方法渲染 JSON

Render JSON from controller method

我在 FW/1 4.2。文档说明如下:

您可以 return 使用 renderData() 函数直接向调用者发送数据,绕过视图和布局。

variables.fw.renderData().data( resultData ).type( contentType );

当我尝试在控制器函数中使用 variables.fw.renderData() 时,出现以下错误:

Component [controllers.notifications] has no accessible Member with name [fw]

如果我转储变量作用域,其中唯一的东西就是控制器方法本身。变量范围内没有 fw 对象。我使用命令框 CLI 安装了 FW/1。

其他一切似乎都运行良好 (routing/etc)。为什么 fw 对象对我的控制器不可用?

您需要将 variables.fw 定义到组件范围。

public any function init( fw ){
    variables.fw = fw;
    return this;
}

Variables 组件内部的行为与常规 cfm 页面中的行为不同。在组件内部 variables 作用域包含组件的属性,例如成员函数和其他定义的属性。