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条)

报告相同问题?