के बीच जावास्क्रिप्ट फ़ंक्शन स्कोप मेरे पास दो अलग-अलग जेएसपी हैं जो जावा बैकएंड एक साथ मिलकर एक ही प्रस्तुत HTML पृष्ठ पर भेजता है।स्क्रिप्ट टैग
प्रत्येक JSP अपनी ही <script>
ब्लॉक है और है कि ब्लॉक के अंदर कार्यों को परिभाषित करता है:
JSP # 1:
<script type="text/javascript">
function blah() { ... }
</script>
JSP # 2
<script type="text/javascript">
function foo()
{
blah();
}
</script>
जैसा कि मैंने कहा, बैकएंड कहते हैं ये HTTP प्रतिक्रिया के लिए और उसी अनुरोध के दौरान उन्हें ब्राउज़र पर वापस भेजता है।
जब मैं अपने ब्राउज़र में यह पृष्ठ चलाता हूं, तो मैं तुरंत बता सकता हूं कि निष्पादित नहीं हो रहा है जब foo()
कॉल किया जा रहा है। मुझे फायरबग में एक कंसोल त्रुटि दिखाई देती है जिसमें blah()
परिभाषित नहीं किया गया है। मुझे आश्चर्य है कि blah()
में केवल अपने <script>
टैग के अंदर दायरा है, और इसी प्रकार foo()
के लिए भी। क्या यह मामला यहां है, या कुछ और है?
जब मैं पृष्ठ स्रोत देखने के लिए जाता हूं तो मुझे स्क्रिप्ट ब्लॉक और दोनों कार्य दोनों दिखाई देते हैं। यह मुझे बताता है कि सब कुछ ठीक से सर्वर-साइड उत्पन्न/प्रस्तुत किया जा रहा है, लेकिन शायद मेरा दृष्टिकोण मूल रूप से गलत है (विभिन्न स्क्रिप्ट टैग के अंदर कार्यों को परिभाषित करना)। अग्रिम में धन्यवाद।
जब या आप कैसे कहते हैं foo()? – Philipp
foo() को तब कहा जाता है जब कोई उपयोगकर्ता तत्व पर अपने माउस को घुमाता है। मैं सत्यापित कर सकता हूं कि इसे अपनी सामग्री को अलर्ट ("") कथन के साथ बदलकर बुलाया जाता है। – IAmYourFaja