2014-11-01 85 views
0

我是zend框架的新手。在這裏,我試圖從控制器獲取數組到視圖中的jquery ajax函數。但是當'dataType'改爲'json'時,它的調用錯誤。Jquery Ajax不能與Zend Framework-Json一起使用返回parsererror

我怎麼能從控制器發送數組到jquery以及如何接收它。請幫助


控制器


public function init() 
{ 
$ajaxContext = $this->_helper->getHelper('AjaxContext'); 
     $ajaxContext->addActionContext('ajax', 'json') 
        ->initContext(); 

} 
public function ajaxAction(){ 

    // DO THE OTHER STUFF AND LOGIC HERE 

    $results = array(
     'return1' => 'value1', 
     'return2' => 'value2' 
    ); 

    echo $this->_helper->sendJson($results); 
} 

查看


$(document).ready(function() 
{ 
    $("#selectOptions").change(function(){ 

     var param1 = 'first'; //or get value from some DOM element 
     var param2 = 'second'; //or get value from some DOM element 

     $.ajax ({ 
      url: 'index/ajax', 
      contentType: 'application/json; charset=utf-8', 
      type: 'POST', 
      dataType: 'json', 
      async : false, 
      data: {param1: param1, param2:param2 }, 
      success: function(json){ 
       console.log(json); 

      }, 
      error : function(xhr, status){ 
       console.log(status); 
      }, 
     }); 

    }); 

}); 

回答

0

使用在你的控制器

$this->_helper->sendJson($results); 

$this->_helper->json($results); 

,但沒有迴音

+0

我已經嘗試過的那一個。但它不工作。 Ajax仍然調用錯誤函數。但'dataType'html得到'成功'。任何其他.phtml(ajax.ajax.phtml)是必需的Ajax行動? – Hardy 2014-11-03 04:51:20

+0

我想出了錯誤。 url:'/ index/ajax'。無論如何感謝您寶貴的時間。 – Hardy 2014-11-03 05:19:36