【发布时间】:2009-11-24 12:12:57
【问题描述】:
我会解释更多,因为可能不够清楚
我想将 ajax url 设置为:www.domain/controller/method 我已经用普通的 php 准备好了一切。
但如果我必须使用 ajax 来执行此操作,我将无法获得预期的结果。 结果应该是一些 json 变量被回显给我。 我不完全清楚为什么。
在萤火虫中,我可以看到请求标头与响应标头不同。 我在响应中看到了布局视图。我还不知道如何绕过它。 basecontroller 为布局创建视图,但我没有用 basecontroller 扩展 ajaxcontroller? 现在我正在运行它抛出了另一个我调用的脚本,但如果我更喜欢它 我可以用第一种方法。
请问大家有什么建议吗?
编辑
似乎在下面的cmets之后我需要提供一些逻辑来禁用布局?
第一次尝试:
class testController extends baseController implements IController
{
public function testit()
{
$this->disableLayout = TRUE;
$check='testit';
$data =array();
header('Content-type: application/json');
$output = array(
"check" => $check,
"user" => $data
);
$this->content = json_encode($output);
exit(0); // Stop script.
}
}
谢谢,理查德
【问题讨论】:
-
在您提出请求的地方添加一些代码。目前尚不清楚您不了解哪一部分并需要帮助。
-
我研究了 WEB2BB 框架(文档很糟糕 =( )。看来您需要做的就是在您的操作中获取 FrontController 实例,然后 $fc->setBody($JSONString); 其中JSON 字符串是您的 JSON 数据。
-
其实我错了,你必须“破解” baseController 才能让你禁用布局。
-
在这里,试试这个:pastebin.com/f66481a6e
-
可能是因为你使用了exit(0);
标签: php ajax model-view-controller