Witam,
Postanowiłerm się przekoanć się do Dojo ale jak na razie idzie to cięzko. Odrazu muszę przyznać że dokumentacja jest dośc uboga jak dla początkującego uzytkownika Dojo.
A więc do rzeczy. Chciałbym przy pomocy Dojo wyświetlić po kolei wszystkie elementy w obiekcie typu Zend_Json lub czystego obiektu JSON.
W jQuery użyłbym
each jednak tutaj nie mogę znaleśc rozwiązania (IMG:
style_emoticons/default/sad.gif)
Kod który używam:
Widok:
<script language="javascript"> function getRegions(id)
{
dojo.require('dojo.rpc.JsonService');
var url = '<?=$this->baseUrl()?>/pl/default/rpc/service';
var myObject = new dojo.rpc.JsonService(url);
// uzycie
var result = myObject.GetRegionsByCountry(id);
result.addCallback(
function(res){
//??
}
);
}
Klasa przekazująca obiekt Zend_Json:
class RpcController extends Zend_Controller_Action {
function init() {
$this->_helper->layout()->disableLayout();
$this->_helper->viewRenderer->setNoRender(true);
$this->_setParam('ajax', true);
}
function serviceAction() {
$server = new Zend_Json_Server();
$server->setClass('Rpc_Get');
$server->setAutoEmitResponse(true);
if ('GET' == $_SERVER['REQUEST_METHOD']) {
$server->setTransport('POST');
$server->setTarget($this->getHelper('url')->url(array('controller'=>'rpc', 'action'=>'service'))); $server->setId($this->getHelper('url')->url(array('controller'=>'rpc', 'action'=>'service')));
$server->setEnvelope(Zend_Json_Server_Smd::ENV_JSONRPC_2);
$smd = $server->getServiceMap();
$smd->setDojoCompatible(true);
header('Content-Type: application/json');
echo Zend_Json
::encode($smd); return;
} else {
//$this->view->response = $server->handle();
$server->handle();
}
}
}