【问题标题】:$_GET in Zend FrameworkZend 框架中的 $_GET
【发布时间】:2012-02-04 21:25:17
【问题描述】:

我是 Zend 框架的初学者。我通过这样的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;
 } 

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

【问题讨论】:

    标签: jquery zend-framework


    【解决方案1】:

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

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

    有一种更像“Zend 框架”的方法:-

    $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);
    }
    

    【讨论】:

    • 谢谢@vascowhite..json 的输出返回类似 [{"client_name":"Steve Harris","state":"TX"}] 是因为它有 [] 括号没有在表单中显示?
    • str_replace(array('[', ']'), '', json_encode($this->view->lead_query)) 上面的代码对我有用
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-06
    相关资源
    最近更新 更多