2012-02-04 69 views
0

我是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

您访问超级全球$ _GET在PHP这样的: -

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); 
} 
+0

感谢@ JSON的vascowhite..the输出返回类似 [{“CLIENT_NAME”:“史蒂夫·哈里斯”,“状态”:” TX“}] 是不是因为[]括号不能显示在窗体中? – Micheal 2012-02-06 00:19:54

+0

str_replace(array('[',']'),'',json_encode($ this-> view-> lead_query)) 上述代码适用于我 – Micheal 2012-02-06 01:28:16