Zend Framework中的$ _GET

时间:2012-02-04 21:25:18

标签: jquery zend-framework

我是Zend Framework的初学者。我通过ajax查询传递变量,如此

$.ajax({
     method: "GET",
     url: "/filename/fetch-client-data.php",
            dataType: 'json',
     // and so on
}

我需要获取表单传递的变量。我不知道如何使用jquery.ajax中的$ _GET ['varaible name']。

以下是我在控制器功能中尝试的内容

 public function fetchClientDataAction()
 {
    $this->_helper->layout->disableLayout();
    $this->_helper->viewRenderer->setNoRender(TRUE);
    $this->get('variablename')=$variable_name;
 } 

有人能指出我正确的方向吗?

1 个答案:

答案 0 :(得分:1)

您可以像这样访问PHP中的超级全局$ _GET: -

public function fetchClientDataAction()
{
    $this->_helper->layout->disableLayout();
    $this->_helper->viewRenderer->setNoRender(TRUE);
    $variable_name = $_GET['variable_name'];
}

有一种更像'Zend Framework'的方式: -

$variable_name = $this->getRequest()->getParam('variable_name');

显然,您需要根据用例清理收到的数据。

如果您要求通过jQuery将数据发送回客户端进行处理,那么您无需担心$ _GET或$ _POST。您只需将数据作为json发送到响应正文中: -

public function fetchClientDataAction()
{
    $this->_helper->layout->disableLayout();
    $this->_helper->viewRenderer->setNoRender(TRUE);
    $variable_name = $_GET['variable_name'];
    //now we can respond
    $result = doSomethingWithVariable_name($variable_name);
    header('OK', true, 200);
    header('Content-type: application/json');
    echo json_encode($result);
}