मैंने जूमला फ्रेमवर्क का उपयोग करके एक वेब एप्लिकेशन का निर्माण शुरू कर दिया है । इसमें एक साधारण वेब पेज होता है, जो कि iFrame में एपीआई के साथ प्रदर्शित होता है जिसका उपयोग AJAX के साथ सामग्री को अपडेट करने के लिए किया जाएगा।
मैंने संगीतकार और जुमला के साथ शुरुआत की! लेख और फ्रेमवर्क ऐप अप और रनिंग है। मैंने अपने iFrame के लिए काम करने के लिए डिफ़ॉल्ट HTML आउटपुट को अनुकूलित किया है और एपीआई पर एक शुरुआत की है। मैंने समाचार को एक टेम्पलेट के रूप में उपयोग किया और अपने एपीआई के लिए एक नियंत्रक, मॉडल, तालिका और दृश्य बनाया जो सभी महान काम करता है। मैंने तब एक बहुत ही सरल टहनी टेम्पलेट बनाया, जो इस तरह से मेरे डेटा का JSON प्रतिनिधित्व लौटाता है:
{{ items|json_encode|raw }}
अब तक तो अच्छा है लेकिन मुझे यह हेडर वापस मिल गया है जो AJAX का jQuery के साथ उपयोग करने पर समस्या पैदा करेगा:
Content-Type:text/html; charset=utf-8
मैंने सोचा कि यह इसे जोड़ने का एक सरल मामला होगा, लेकिन कोई फर्क नहीं पड़ता कि मैंने इसे कहाँ रखा है, यह शीर्ष लेख को वापस नहीं करता है:
$this->app->setHeader('Content-Type', 'application/json', true);
मुझे पता है कि setHeader काम कर रहा है जैसे कि मैं नाम बदल देता हूं, मुझे नया हेडर वापस दिखाई देता है, इसलिए मुझे लगता है कि इसे बाद में निष्पादन में अधिलेखित किया जा रहा है।
तो मेरा सवाल यह है कि क्या मैं इसके बारे में सही तरीका बता रहा हूं? मेरा दृष्टिकोण DefaultHtmlView का विस्तार करता है जो गलत लगता है, क्या मुझे DefaultJsonView बनाना चाहिए? मैं सही सामग्री-प्रकार कैसे सेट कर सकता हूं या JSON को वापस करने के लिए एक बेहतर तरीका है?
सलाह की कोई भी मदद जो एपीआई बनाने के लिए जूमला फ्रेमवर्क का उपयोग करने के सर्वोत्तम तरीके के बारे में दी जा सकती है, की बहुत सराहना की जाएगी।