dongxiezhi0590 2013-02-13 10:02
浏览 70
已采纳

如何在Zend Framework 2中使用ajax?

I am trying a small ajax application whereby I only want to return a hello world string from my controller action. it is returning the Hello world but along with this, it is also returning my template file.. I tried to disable it the templating using the following code in the action of my controlelr

$this->_helper->layout()->disableLayout();
$this->_helper->viewRenderer->setNoRender( true );

but this returns me this error

SCREAM: Error suppression ignored for
( ! ) Notice: Undefined property: Survey\Controller\SurveyController::$_helper in C:\wamp\www\zend\module\Survey\src\Survey\Controller\SurveyController.php on line 55

SCREAM: Error suppression ignored for
( ! ) Fatal error: Call to a member function layout() on a non-object in C:\wamp\www\zend\module\Survey\src\Survey\Controller\SurveyController.php on line 55
Call Stack

How do I fix this ?

EDIT

I modifed the controller such that it looks like this

public function registerAction()
{
    $result = new JsonModel(array(
        'some_parameter' => 'some value',
        'success'=>true,
    ));

    return( $result );
}

Added strategies in the module..module.config in module appl directory

'strategies' => array(
    'ViewJsonStrategy',
),

Still, in the ajax response I get the template being returned

  • 写回答

6条回答 默认 最新

  • dsgw8802 2013-02-15 10:07
    关注

    Here's a solid example:

    http://akrabat.com/zend-framework-2/returning-json-from-a-zf2-controller-action/

    You should be using JsonMoodels to send back a Json Response.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

悬赏问题

  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能
  • ¥15 jmeter脚本回放有的是对的有的是错的
  • ¥15 r语言蛋白组学相关问题