Sto utilizzando Zend Framework 1.x per il mio progetto. Voglio creare un servizio Web restituire solo la stringa JSON per la funzione chiamante. Ho provato ad utilizzare Zend_Controller_Action
e applicato quei modi:Come restituire solo JSON da Zend
1.
$this->getResponse()
->setHeader('Content-type', 'text/plain')
->setBody(json_encode($arrResult));
2.
$this->_helper->getHelper('contextSwitch')
->addActionContext('nctpaymenthandler', 'json')
->initContext();
3.
header('Content-type: application/json');
4.
$this->_response->setHeader('Content-type', 'application/json');
5.
echo Zend_Json::encode($arrResult);
exit;
6.
return json_encode($arrResult);
7.
$this->view->_response = $arrResult;
Ma quando ho usato cURL per ottenere il risultato, è tornato con la stringa JSON circondato da alcuni tag HTML. Poi ho provato ad usare l'utente Zend_Rest_Controller
con le opzioni sopra. Non ha ancora avuto successo.
P.S .: La maggior parte di questi modi sopra sono dalla domanda che era stata posta su Stack Overflow.
Ho usato questo metodo per un po 'di tempo. Non capisco la necessità di tutto il codice aggiuntivo. Il metodo di supporto gestisce tutto per te per quanto posso dire. – David
dove mettere questo codice? Nella funzione di azione del controller? –
@HarisMehmood l'azione del controllore è il posto giusto per metterlo in quanto è il suo ruolo per gestire la richiesta e preparare l'output. – Tim