我想在我的ZF2項目中使用AJAX和JQuery。確切地說,我想在超出選擇值更改時更改選擇選項。在Zend Framework中使用AJAX 2
爲此,我嘗試實現AJAX方法。我在網上找不到一個關於我的問題的好教程,但我試着用不同的來源做這個。這是我的代碼:
控制器:
public function init()
{
parent::init();
$contextSwitch = $this->_helper->getHelper('contextSwitch');
$contextSwitch ->addActionContext('getcurrenttime', 'json')->initContext();
}
public function getcurrenttimeAction()
{
$date = new Zend_Date();
$chaine = $date->toString();
$this->_helper->json($chaine);
}
這是我的我的路由配置:
'administratif_personnel' => array(
'type' => 'Literal',
'priority' => 1000,
'options' => array(
'route' => '/administratif/personnel',
'defaults' => array(
'controller' => 'Administratif\Controller\Personnel',
'action' => 'liste',
),
),
'may_terminate' => true,
'child_routes' => array(
[...]
'getcurrenttime' => array(
'type' => 'Literal',
'options' => array(
'route' => '/getcurrenttime',
'defaults' => array(
'controller' => 'Administratif\Controller\Personnel',
'action' => 'getcurrenttime',
),
),
),
),
),
而且這是在一個視圖中我的jQuery代碼(取決於同一控制的)我嘗試做兩個不同的方法:
<script type="text/javascript">
/*
* Initialisation de Jquery
*/
$().ready(function() {
getCurrentTime();
});
function getCurrentTime() {
$.post("/administratif/personnel/getcurrenttime",{"format":"json"}, function(resp){
alert("test");
alert(resp);
},"json");
$.ajax({
url: "/administratif/personnel/getcurrenttime",
}).done(function(t) {
console.debug(t);
console.debug("test");
});
}
第一種方法$.post
不起作用。我沒有任何回報。但$.ajax
返回給我一個HTML頁面。 console.debug(t)
給我發送<html><head>....</head></html>
。我的網站頁面。
你有什麼想法嗎?我認爲這是路線問題?
謝謝!
'new Zend_Date()'它來自ZF1在ZF2中沒有日期庫 –
是您對ZF1或ZF2的問題? – blackbishop
這與此相同:$ chaine =「toto」; \t \t $ this - > _ helper-> json($ chaine); – Tom59