AJAX कॉल से सिस्टम मैसेज कैसे रेंडर करें


10

जब मुझे अपना ajax अनुरोध वापस मिला तो मैं एक सिस्टम संदेश प्रदर्शित करना चाहूंगा।

Ajax अनुरोध सही संदेश देता है। मैं इसे अलर्ट के साथ परख सकता हूं।

alert(result.message);
Joomla.renderMessages(result.message);

अब यह एक विशिष्ट जूमला सिस्टम संदेश के रूप में सफलता या त्रुटि संदेश दिखाएगा। लेकिन Joomla.renderMessagesकॉल, कोई परिणाम नहीं दिखाता है। सिस्टम संदेश मेरी साइट पर दिखाई नहीं देगा।

क्या कुछ गलत है या मुझे इसे चलाने के लिए कुछ और करना है?

जवाबों:


6

सभी चीजों को @Bakual ने उल्लेख सही हैं लेकिन मुझे लगता है कि तुम सिर्फ गुजर रहे हैं नोटिस result.messageकरने के लिए alertऔर यह देखते हुए कि [alert(message)][1]उम्मीद है messageएक होने के लिए stringया एक objectयह एक करने के लिए परिवर्तित कर सकते हैं stringइस समस्या हो सकती है।

यदि result.messageसिर्फ एक तार है, तो आपको इसे एक उपयुक्त कंटेनर में लपेटना होगा, कुछ इस तरह से:

var jmsgs = [result.message];  // You can stack multiple messages of the same type
Joomla.renderMessages({'info': jmsgs });

इसका हल है! धन्यवाद!
पेरिनो

2

जावास्क्रिप्ट फ़ंक्शन आईडी के साथ एक कंटेनर की उपस्थिति पर निर्भर करता है system-message-container। कुछ टेम्प्लेट में यह कंटेनर बिल्कुल नहीं होता है, या केवल अगर कोई संदेश दिखाना है। इसलिए पहले प्रोटोस्टार से जांच करें और देखें कि क्या यह वहां काम करता है

इसके अलावा, आपको यह सुनिश्चित करने की ज़रूरत है कि आप वास्तव core.jsमें अपने विस्तार के साथ भरी हुई हैं । यह आवश्यक नहीं है, विशेष रूप से फ्रंटेंड में लोड नहीं है। जूमला 3.3 के बाद से आप इसका उपयोग करके लोड कर सकते हैं JHtmlBehavior::core(), पुराने संस्करण में आप इसका उपयोग करेंगे JHtmlBehavior::framework()

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.