Tôi đang sử dụng Zend Framework 1.x cho dự án của mình. Tôi muốn tạo một dịch vụ Web trả về chỉ chuỗi JSON cho hàm người gọi. Tôi cố gắng để sử dụng Zend_Controller_Action
và áp dụng những cách sau:Cách chỉ trả lại JSON từ 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;
Nhưng khi tôi sử dụng cURL để có được kết quả, nó trở lại với JSON chuỗi bao quanh bởi một số thẻ HTML. Sau đó, tôi đã cố gắng sử dụng Zend_Rest_Controller
với các tùy chọn ở trên. Nó vẫn không thành công.
P.S .: Hầu hết những cách trên là từ câu hỏi đã được hỏi về Stack Overflow.
Tôi đã sử dụng phương pháp này một thời gian. Tôi không hiểu sự cần thiết cho tất cả các mã bổ sung. Các phương pháp trợ giúp xử lý tất cả mọi thứ cho bạn như xa như tôi có thể nói. – David
nơi để đặt mã này? Trong chức năng hành động của bộ điều khiển? –
@HarisMehmood hành động của bộ điều khiển của bạn là đúng nơi để đặt nó vì nó là vai trò của nó để xử lý yêu cầu và chuẩn bị đầu ra. – Tim