दिलचस्प पोस्ट
जावास्क्रिप्ट चर संदर्भ / उपनाम एन्क्रिप्ट करना app.config फ़ाइल कैसे तीन बटन 'हाँ' 'नहीं' और 'रद्द करें' के रूप में एमएस वर्ड में दिखाया गया है के साथ पुष्टि की चेतावनी दिखाने के लिए मॉड शून्य नहीं कर सकते? एंड्रॉइड में ऐप आइकन पर फेसबुक बैज नंबर कैसे जोड़ता है? जावास्क्रिप्ट में छवि डेटा प्राप्त करें? 'ऐप' एंड्रॉइड एक्सएमएल नामस्थान क्या है? शून्य / नल को आरक्षित करें / रीसेट करें दर्ज किए गए संपादन टेक्स्ट में पाठ साफ़ करें ActiveRecord या क्वेरी हाश नोटेशन निर्धारित करें कि एक HTML तत्व की सामग्री अतिप्रवाह है मैं .NET का उपयोग करते हुए हेक्साडेसिमल रंग कोड से रंग कैसे प्राप्त करूं? सी स्ट्रिंग को सी # में डिकोड कैसे करें मैं व्युत्पन्न क्लास कन्स्ट्रक्टर में बेस क्लास सदस्य चर को कैसे आरंभ करूं? क्या JSR-303 (बीन सत्यापन) का कार्यान्वयन उपलब्ध है?

पास जावास्क्रिप्ट ऐरे -> PHP

मान लें कि मेरे पास तत्वों का एक गुच्छा (कहीं भी 50-200 से) के साथ एक जावास्क्रिप्ट सरणी है

मैं एजेएक्स का उपयोग कर PHP (तैयार कथन) को भेजना चाहता हूं। वर्तमान में, मैं एक पाश के अंदर कई बार एक php फ़ाइल लोड करता हूं, लेकिन मैं इसे एक सरणी में कनवर्ट करना चाहता हूं और एक बार सरणी भेजना चाहता हूं, एक बार PHP फ़ाइल लोड करने के बजाय 50-200 बार

array[i] = variable;

वेब के समाधान से एकत्रित समाधान "पास जावास्क्रिप्ट ऐरे -> PHP"

आप JavaScript में अपने सरणी को एन्कोड करने के लिए JSON.stringify(array) का उपयोग कर सकते हैं, और फिर $array=json_decode($_POST['jsondata']); इसे पुनर्प्राप्त करने के लिए अपनी PHP स्क्रिप्ट में

AJAX अनुरोध एक <form> तत्व के माध्यम से शुरू किए गए GET और POST अनुरोधों से अलग नहीं हैं इसका मतलब है कि आप डेटा पुनर्प्राप्त करने के लिए $ _GET और $ _POST का उपयोग कर सकते हैं।

जब आप एक AJAX अनुरोध (jQuery उदाहरण) बना रहे हैं:

 // JavaScript file elements = [1, 2, 9, 15].join(',') $.post('/test.php', {elements: elements}) 

यह (लगभग) इस फ़ॉर्म को पोस्ट करने के बराबर है:

 <form action="/test.php" method="post"> <input type="text" name="elements" value="1,2,9,15"> </form> 

दोनों ही मामलों में, सर्वर पक्ष पर आप $ _POST चर से डेटा पढ़ सकते हैं:

 // test.php file $elements = $_POST['elements']; $elements = explode(',', $elements); 

सादगी के लिए मैं यहाँ अल्पविराम के साथ तत्वों में शामिल हो रहा हूँ JSON धारावाहिककरण एक अधिक सार्वभौमिक समाधान है, यद्यपि।

जे एस अरै या ऑब्जेक्ट को पीएचपी-कॉरपोरेट सरणी में परिवर्तित करने के लिए एक फंक्शन है जिसे एचटीसी प्राप्त करें अनुरोध पैरामीटर के रूप में भेजा जाना है:

 function obj2url(prefix, obj) { var args=new Array(); if(typeof(obj) == 'object'){ for(var i in obj) args[args.length]=any2url(prefix+'['+encodeURIComponent(i)+']', obj[i]); } else args[args.length]=prefix+'='+encodeURIComponent(obj); return args.join('&'); } 

उपसर्ग एक पैरामीटर नाम है

संपादित करें:

 var a = { one: two, three: four }; alert('/script.php?'+obj2url('a', a)); 

उत्पादन करेंगे

 /script.php?a[one]=two&a[three]=four 

जो आपको $ _GET ['a'] को लिपि में एक सरणी के रूप में उपयोग करने की अनुमति देगा। जेएस से स्क्रिप्ट.php को कॉल करने के लिए यूआरएल की आपूर्ति करने पर आपको अपने पसंदीदा एजेक्स इंजन में अपना रास्ता निकालना होगा।

तो अपने सरणियों की एक दो-आयामी सरणी बनाने के लिए क्लाइंट-साइड लूप का उपयोग करें और एक ही अनुरोध में संपूर्ण चीज़ को PHP में भेज दें।

सर्वर-साइड, आपको एक और पाश की आवश्यकता होगी जो प्रत्येक उप-सरणी के लिए इसके नियमित जमा / अपडेट करता है

आप जावास्क्रिप्ट से PHP पर सरणी स्थानांतरित कर सकते हैं …

जावास्क्रिप्ट … ArraySender.html

 <script language="javascript"> //its your javascript, your array can be multidimensional or associative plArray = new Array(); plArray[1] = new Array(); plArray[1][0]='Test 1 Data'; plArray[1][1]= 'Test 1'; plArray[1][2]= new Array(); plArray[1][2][0]='Test 1 Data Dets'; plArray[1][2][1]='Test 1 Data Info'; plArray[2] = new Array(); plArray[2][0]='Test 2 Data'; plArray[2][1]= 'Test 2'; plArray[3] = new Array(); plArray[3][0]='Test 3 Data'; plArray[3][1]= 'Test 3'; plArray[4] = new Array(); plArray[4][0]='Test 4 Data'; plArray[4][1]= 'Test 4'; plArray[5] = new Array(); plArray[5]["Data"]='Test 5 Data'; plArray[5]["1sss"]= 'Test 5'; function convertJsArr2Php(JsArr){ var Php = ''; if (Array.isArray(JsArr)){ Php += 'array('; for (var i in JsArr){ Php += '\'' + i + '\' => ' + convertJsArr2Php(JsArr[i]); if (JsArr[i] != JsArr[Object.keys(JsArr)[Object.keys(JsArr).length-1]]){ Php += ', '; } } Php += ')'; return Php; } else{ return '\'' + JsArr + '\''; } } function ajaxPost(str, plArrayC){ var xmlhttp; if (window.XMLHttpRequest){xmlhttp = new XMLHttpRequest();} else{xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");} xmlhttp.open("POST",str,true); xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); xmlhttp.send('Array=' + plArrayC); } ajaxPost('ArrayReader.php',convertJsArr2Php(plArray)); </script> 

और PHP कोड … ArrayReader.php

 <?php eval('$plArray = ' . $_POST['Array'] . ';'); print_r($plArray); ?>