दिलचस्प पोस्ट
स्काला संदर्भ और दृश्य सीमा क्या हैं? जावास्क्रिप्ट समापन और 'यह' ट्विटर बूटस्ट्रैप मोडल-बैकड्रॉप गायब नहीं हुआ है विनिर्देशन में दिनांक स्वरूप के कारण अमान्य gemspec कैसे एक डेटाफ्रेम पिवट करने के लिए क्या UIWebView के लिए साझा किया गया एचटीटीपीकुकी स्टोरेज का मैन्युअल रूप से कुकी सेट करना संभव है? "ब्रेकपॉइंट वर्तमान में हिट नहीं हो पाएगा स्रोत कोड मूल संस्करण से अलग है। "इसका क्या अर्थ है? कस्टम फिल्टर फ़ंक्शन के साथ AngularJS एकाधिक फिल्टर मेवेन निर्भरता पर नोक्लेस डीफफाउंड एरर अन्य कक्षाओं से कार्ड लेआउट तक जेपीएनल्स जोड़ना क्या मुझे `यह` या` $ स्कोप 'का उपयोग करना चाहिए? मोंगोडीबी से रैंडम रिकॉर्ड अनारी प्लस और माइनस ऑपरेटरों का महत्वपूर्ण उपयोग क्या है? रिक्त तर्क के लिए विधि ओवरलोडिंग OSX: सिस्टम-वाइड चाबियाँ निकालें घटनाओं का पता लगाएं?

जावास्क्रिप्ट से PHP और इसके विपरीत डेटा कैसे पास करें?

मैं एक जावास्क्रिप्ट स्क्रिप्ट अनुरोध कैसे पास कर सकता हूँ एक PHP पृष्ठ और इसके पास डेटा पास? फिर मैं PHP स्क्रिप्ट पास डेटा को जावास्क्रिप्ट स्क्रिप्ट पर कैसे वापस करूँ?

client.js:

data = {tohex: 4919, sum: [1, 3, 5]}; // how would this script pass data to server.php and access the response? 

server.php:

 $tohex = ... ; // How would this be set to data.tohex? $sum = ...; // How would this be set to data.sum? // How would this be sent to client.js? array(base_convert($tohex, 16), array_sum($sum)) 

वेब के समाधान से एकत्रित समाधान "जावास्क्रिप्ट से PHP और इसके विपरीत डेटा कैसे पास करें?"

PHP से डेटा पास करना आसान है, आप इसके साथ जावास्क्रिप्ट उत्पन्न कर सकते हैं। दूसरा रास्ता थोड़ा कठिन है – आपको जावास्क्रिप्ट अनुरोध से PHP स्क्रिप्ट का उपयोग करना होगा।

उदाहरण (सादगी के लिए पारंपरिक इवेंट पंजीकरण मॉडल का उपयोग करके):

 <!-- headers etc. omitted --> <script> function callPHP(params) { var httpc = new XMLHttpRequest(); // simplified for clarity var url = "get_data.php"; httpc.open("POST", url, true); // sending as POST httpc.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); httpc.setRequestHeader("Content-Length", params.length); // POST request MUST have a Content-Length header (as per HTTP/1.1) httpc.onreadystatechange = function() { //Call a function when the state changes. if(httpc.readyState == 4 && httpc.status == 200) { // complete and no errors alert(httpc.responseText); // some processing here, or whatever you want to do with the response } } httpc.send(params); } </script> <a href="#" onclick="callPHP('lorem=ipsum&foo=bar')">call PHP script</a> <!-- rest of document omitted --> 

जो भी get_data.php उत्पादन करता है, जो कि httpc.responseText में दिखाई देगा। त्रुटि संभाल, इवेंट पंजीकरण और क्रॉस-ब्राउज़र XMLHttpRequest संगतता पाठक को सरल अभ्यास के रूप में छोड़ दिया जाता है;)

मैं JSON को प्रारूप और अजाक्स (वास्तव में XMLHttpRequest) के रूप में ग्राहक-> सर्वर तंत्र के रूप में उपयोग करता हूं

मैं दूसरे दिन इसी तरह की समस्या को चलाता हूं। कहो, मैं ग्राहक से डेटा सर्वर से पास करना चाहता हूं और डेटा को लॉग फ़ाइल में लिखना चाहता हूं। यहां मेरा समाधान है:

मेरा सरल क्लाइंट साइड कोड:

 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js" type="text/javascript"></script> <title>Test Page</title> <script> function passVal(){ var data = { fn: "filename", str: "this_is_a_dummy_test_string" }; $.post("test.php", data); } passVal(); </script> </head> <body> </body> </html> 

और सर्वर पक्ष पर PHP कोड:

 <?php $fn = $_POST['fn']; $str = $_POST['str']; $file = fopen("/opt/lampp/htdocs/passVal/".$fn.".record","w"); echo fwrite($file,$str); fclose($file); ?> 

आशा है कि यह आपके और भावी पाठकों के लिए काम करता है!

मुझे लगता है कि आप और अधिक या कम बस अजाक्स का वर्णन करते हैं।

(संक्षिप्त जवाब के लिए खेद है)

कुछ तरीके हैं, सबसे महत्वपूर्ण फॉर्म डेटा प्राप्त हो रहा है, या क्वेरी स्ट्रिंग प्राप्त कर रहा है। जावास्क्रिप्ट का उपयोग कर एक विधि यहाँ है। जब आप किसी लिंक पर क्लिक करते हैं तो यह _vals ('mytarget', 'theval') को कॉल करेगा, जो फ़ॉर्म डेटा सबमिट करेगा। जब आपके पृष्ठ की पोस्ट वापस हो जाती है तो आप यह जांच सकते हैं कि क्या यह फ़ॉर्म डेटा सेट कर दिया गया है और फिर उसे प्रपत्र मूल्यों से पुनः प्राप्त किया गया है।

 <script language="javascript" type="text/javascript"> function _vals(target, value){ form1.all("target").value=target; form1.all("value").value=value; form1.submit(); } </script> 

वैकल्पिक रूप से आप इसे क्वेरी स्ट्रिंग के माध्यम से प्राप्त कर सकते हैं। पीएचपी आपके _GET और _SET वैश्विक कार्यों को प्राप्त करने के लिए इसे बहुत आसान बनाते हैं।

मुझे यकीन है कि संभवत: अधिक तरीके हैं जो बेहतर हैं, लेकिन ये बस कुछ ही हैं जो वसंत को ध्यान में रखते हैं।

संपादित करें: उपर्युक्त विधि का उपयोग करते हुए दूसरों ने क्या कहा है इस पर बिल्डिंग में आपके पास एक एंकर टैग होगा

 <a onclick="_vals('name', 'val')" href="#">My Link</a> 

और फिर अपने PHP में आप फॉर्म डेटा का उपयोग करके प्राप्त कर सकते हैं

 $val = $_POST['value']; 

इसलिए जब आप उस लिंक पर क्लिक करते हैं जो जावास्क्रिप्ट का उपयोग करता है, तो यह फॉर्म डेटा पोस्ट करेगा और जब पेज को इस क्लिक से वापस पोस्ट किया जाएगा तो आप उसे PHP से प्राप्त कर सकते हैं।

कुकीज़ का उपयोग करना आसान तरीका है आप jquery और jquery.cookie के रूप में एक प्लगिंग का उपयोग करें या अपना खुद का बना सकते हैं। उदाहरण के लिए, Jquery + jquery.cookie का उपयोग करना

  <script> var php_value = '<?php echo $php_variable; ?>'; var infobar_active = $.cookie('php_value'); var infobar_alert = any_process(infobar_active); //set a cookie to readit via php $.cookie('infobar_alerta', infobar_alerta ); </script> <?php var js_value = code to read a cookie ?> 

मुझे यह उपयोगी सर्वर-साइड और हाइब्रिड फ्रेमवर्क मिले हैं: http://www.phplivex.com/ http://www.ashleyit.com/rs/

मैं एश्ली के आरएसजेएस स्क्रिप्ट का उपयोग कर रहा हूं ताकि लंबे समय तक किसी भी समस्या के बिना एचटीएमएल में वैल्यू को अपडेट किया जा सके, जब तक कि मैं JQuery (एजेक्स, लोड इत्यादि) से न मिले।

आप PHP से जावास्क्रिप्ट से डेटा पास कर सकते हैं लेकिन जावास्क्रिप्ट से PHP पर डेटा प्राप्त करने का एकमात्र तरीका AJAX के माध्यम से है।

इसका कारण यह है कि आप PHP के माध्यम से एक वैध जावास्क्रिप्ट बना सकते हैं, लेकिन PHP को डाटा प्राप्त करने के लिए आपको PHP फिर से चलाने की आवश्यकता होगी, और जब से पीएचपी केवल आउटपुट को प्रोसेस करने के लिए चलाता है, आपको एक पृष्ठ पुनः लोड या एक एसिंक्रोनस क्वेरी की आवश्यकता होगी।

PHP से जावास्क्रिप्ट या इसके विपरीत डेटा एक्सचेंज करने का दूसरा तरीका है कुकीज़ का उपयोग करके, आप PHP में कुकीज़ को बचा सकते हैं और अपनी जावास्क्रिप्ट द्वारा पढ़ सकते हैं, इसके लिए आपको फ़ॉर्म या एजेक्स का उपयोग नहीं करना है

इस धागा पर एक नज़र डालें: जावास्क्रिप्ट या अन्य के साथ विभिन्न डोमेन पर कुकी सेट करना

वहां मैंने लिखा था कि एजेक्स का इस्तेमाल कैसे किया जा सकता है ताकि किसी php-file से कुकी पढ़ सके …