2013-07-17 3 views
1

Привет Люди здесь мой код ниже,Ajax в Zend Framework2

index.phtml код

<div class="view clearfix" onClick="ajaxinfo()">Info</a></div> 

<script> 
function ajaxinfo(){ 

var id = 100; 
$.ajax({ 

    type: "POST", 
    url:"http://localhost/zf2/info/format/html", 
    data:id, 
    success:function(data){alert('ajax data success');}, 
    error:function(){alert('ajax data failed to fetch');} 
    }); 
return false; 

} 
</script> 

как вы можете видеть IAM пытается передать идентификатор = 100 на info.phtml страницу и попытаться получить HTML данные назад от info.phtml

позволяет предположить info.phtml в

Iam не уверен, что ИМР т.й в контроллере ... я проверил Су много учебника, но это не работает для ZF2 как

public function init() 
{ 
    $ajaxContent=$this->_helper->helper(); 
    $ajaxContent->addActionContext('info','html'); 
    $ajaxContent->initContext(); 

} 

есть ли другой способ решить эту проблему.?

+0

Эй жаль я слишком ленив для ответа, но [ 'acceptableViewModelSelector'] (http://zf2.readthedocs.org/en /latest/modules/zend.mvc.plugins.html#zend-mvc-controller-plugins-acceptableviewmodelselector) Контроллер-плагин должен быть тем, что вы ищете. – Sam

ответ

0

вы можете использовать что-то вроде этого в контроллере:

 public function addressdeleteAction() 
{ 
    $response = $this->getResponse();  
    $post_data = $request->getPost();  

    $response->setContent(\Zend\Json\Json::encode(array('id' => 100))); 

    return $response; 

} 
+0

отлично это то, что я смотрел – Friend

0

Чтобы использовать AJAX с картой Zend, я предлагаю вам создать имя контроллера AsyncController.

Действия, вызываемые из вашего запроса Ajax, не должны отображать макет.

Например:

class AsyncController extends Zend_Controller_Action 
{ 
    public function ajaxAction() 
    { 
     $this->_helper->layout()->disableLayout(); 
     $this->_helper->viewRenderer->setNoRender(true); 
     /* Action you want to do*/ 
     print json_encode($data); 
    } 
} 

В этом примере $ данные должны быть результатом операций, сделанных.

EDIT: Я не видел тег

К сожалению, я не видел, это было для ZF2. Этот код работает для ZF1, но ZF2 сильно изменился. Я предполагаю, что идея такая же, но объект действительно другой, я думаю.

+0

Спасибо за ответ @david, но в ZF2 '_helper' НЕ РАБОТАЕТ ..... – Friend

Смежные вопросы