How to call a JavaScript function from PHP? -


PHP से जावास्क्रिप्ट फ़ंक्शन कैसे कॉल करें?

  & lt;? Php jsfunction () ; // या गूंज (jsfunction ()); // या कुछ और?  

निम्न कोड xyz.html से है (एक बटन क्लिक पर) यह एक प्रतीक्षा () को एक बाहरी xyz.js । यह प्रतीक्षा करें () कॉल प्रतीक्षा.php।

  फ़ंक्शन प्रतीक्षा करें () {xmlhttp = GetXmlHttpObject (); Var url = "wait.php"; \ Xmlhttp.onreadystatechange = आदान-प्रदान; Xmlhttp.open ("GET", यूआरएल, सच); xmlhttp.send (शून्य); } Function statechanged () {if (xmlhttp.readyState == 4) {document.getElementById ("txt")। InnerHTML = xmlhttp.responseText; }}  

और wait.php

  & lt;? Php echo "& lt; script & gt; loadxml (); & lt; / लिपि & gt; ";  

जहां loadxml () एक अन्य PHP फ़ाइल से कॉल कोड उसी तरह है

loadxml () अन्यथा ठीक काम कर रहा है, लेकिन इसे जिस तरह से मैं चाहता हूँ उसे नहीं कहा जा रहा है।

जहां तक ​​PHP का संबंध है (या वास्तव में, सामान्य में एक वेब सर्वर), एक HTML पृष्ठ एक बड़ी स्ट्रिंग से ज्यादा जटिल नहीं है।

सभी फैंसी काम आप PHP जैसी भाषा के साथ कर सकते हैं - डेटाबेस और वेब सेवाओं से पढ़ना और ये सब - अंतिम अंतिम लक्ष्य सटीक समान सिद्धांत है: HTML * की एक स्ट्रिंग उत्पन्न करें।

आपका बड़ा HTML स्ट्रिंग उस विशेष से अधिक कुछ नहीं हो जाता है जब तक कि इसे किसी वेब ब्राउज़र द्वारा लोड नहीं किया जाता। एक बार जब कोई ब्राउज़र पृष्ठ को लोड करता है, तब अन्य सभी जादू होता है - लेआउट, बॉक्स मॉडल सामान, डोम पीढ़ी, और अन्य कई चीजें, जिसमें जावास्क्रिप्ट निष्पादन भी शामिल है।

"PHP से जावास्क्रिप्ट को कॉल करें", आप "अपने आउटपुट में जावास्क्रिप्ट फंक्शन कॉल शामिल करें"।

ऐसा करने के कई तरीके हैं, लेकिन ये एक जोड़े हैं।

का उपयोग करना बस PHP:

  गूंज & lt; स्क्रिप्ट प्रकार = "टेक्स्ट / जावास्क्रिप्ट" & gt; ',' jsfunction (); ',' & lt; / script & gt; ' ;  

पीएचपी मोड से प्रत्यक्ष आउटपुट मोड में से बचें:

  & lt;? Php // कुछ php सामग्री? & Gt; & Lt; स्क्रिप्ट प्रकार = "टेक्स्ट / जावास्क्रिप्ट" & gt; jsFunction (); & Lt; / स्क्रिप्ट & gt;  

आपको फ़ंक्शन नाम या उस जैसी कुछ भी वापस करने की आवश्यकता नहीं है। सबसे पहले, हाथ से AJAX अनुरोध लिखना बंद करें आप केवल अपने आप पर मुश्किल कर रहे हैं

दूसरी बात, समझें कि आप AJAX कॉल से प्रतिक्रिया प्राप्त होने पर पहले से ही जावास्क्रिप्ट कोड निष्पादित करने जा रहे हैं।

यहां एक उदाहरण जो मुझे लगता है कि आप jQuery के AJAX के साथ कर रहे हैं

  $। ('Wait.php', {}, function (returnData) {document.getElementById ("txt")। InnerHTML = returnData; // ठीक है, यहां वह जगह है जहां आप किसी अन्य फ़ंक्शन को कॉल कर सकते हैं कुछ अन्य फ़ंक्शन IWantToCall (); // लेकिन जब तक आपको वास्तव में करने की आवश्यकता नहीं है, तो आपके पास नहीं है // हम फ़ंक्शन निष्पादन के बीच पहले से ही हैं // सही यहां, तो आप अपना कोड यहां रख सकते हैं}, 'पाठ'); फ़ंक्शन someOtherFunctionYouWantToCall () {// stuff}  

अब, अगर आप PHP से AJAX कॉल करने के लिए फ़ंक्शन का नाम भेजने पर मृत सेट हैं, तो आप ऐसा भी कर सकते हैं

  $। Get ('wait.php', {}, फ़ंक्शन (लौटा हुआ डेटा) {/ / / / / / / / / / / / / / / / / / / / /> वापस लौटाता डेटा में एक जावास्क्रिप्ट समारोह का नाम खिड़की है [वापसीडेटा] ();}, 'पाठ' ;  

* या JSON या XML आदि।


Comments