अब तक, मैंने यह पता लगाया है कि ज़ेंड फ्रेमवर्क 2 में एक सामान्य JSON प्रतिक्रिया कैसे वापस करनी है। सबसे पहले, मैंने ViewJsonStrategy
strategies
view_manager
कॉन्फ़िगरेशन के अनुभाग में जोड़ा। फिर, नियंत्रक कार्रवाई से ViewModel
उदाहरण लौटने की बजाय, मैं अपने सभी चर सेट के साथ JsonModel
उदाहरण देता हूं।JSON प्रतिक्रिया के भीतर ZF2 व्यू कैसे प्रस्तुत करें?
अब जब मैंने यह टुकड़ा निकाला है, तो मुझे समझने की जरूरत है कि दृश्य को कैसे प्रस्तुत किया जाए और उसे JSON प्रतिक्रिया में वापस कर दें। ZF1 में, मैं $this->view->render($scriptName)
का उपयोग करने में सक्षम था, जिसने HTML को एक स्ट्रिंग के रूप में वापस कर दिया। ZF2 में, Zend\View\View::render(...)
विधि void
लौटाती है।
तो ... मैं एक HTML व्यू स्क्रिप्ट कैसे प्रस्तुत कर सकता हूं और इसे एक अनुरोध में JSON प्रतिक्रिया में वापस कर सकता हूं?
यह वही है मैं अभी है: नियम क्यों सरल करता है, तो यहाँ जटिल हो सकता है निम्न
if ($this->getRequest()->isXmlHttpRequest()) {
$jsonModel = new JsonModel(...);
/* @todo Render HTML script into `$html` variable, and add to `JsonModel` */
return $jsonModel;
} else {
return new ViewModel(...);
}
अरे मैं तो बस यह करने के लिए लौटने के बाद से i 'कर रहा हूँ के साथ एक ही परिणाम प्राप्त कर सकते हैं मैं भी इसमें हूँ। हालांकि आपकी समस्या वास्तव में क्या है? जब आप एक jsonModel (सरणी ($ डेटा) वापस करते हैं, तो प्रतिक्रिया जेसन है। आप जेसन ओओ – Sam
लौटने पर किसी भी दृश्य या जो भी प्रस्तुत करना नहीं चाहते हैं, मुझे JSON प्रतिक्रिया के अंदर आंशिक दृश्य प्रस्तुत करने की आवश्यकता है। उदाहरण: '{" एचटीएमएल ":"