2010-09-23 9 views
5

पर रिक्त स्थान सहित पासिंग वैल्यू AJAX कॉल के साथ रिक्त स्थान पारित करने का प्रयास कर रहा है।अजाक्स कॉल

'शब्द' को 'शब्द' के समान ही पारित किया गया है, मुझे विश्वास है।

दूसरी ओर दो शब्दों को कॉल के साथ पूरी तरह से भेजने की आवश्यकता है।

'शब्द दूसरा' लेकिन 'शब्द दूसरा'

के रूप में ही नहीं मैं कॉल करने से पहले ट्रिम या सर्वर साइड स्क्रिप्ट पर ऐसा करना चाहिए? मैं रिक्त स्थान भी कैसे भेज सकता हूं?

उत्तर

1

मैं जानता हूँ कि यह एक पुराने प्रश्न है टियन, लेकिन मैं यह इंगित करना चाहता हूं कि स्वीकृत उत्तर एक ऐसा फ़ंक्शन सुझा रहा है जो जावास्क्रिप्ट संस्करण 1.5 के रूप में बहिष्कृत है।

इसके बजाय, आपको रिक्त स्थान और अन्य विशेष वर्ण भेजने के लिए encodeURI() या encodeURIComponent() का उपयोग करना चाहिए।

var param = encodeURIComponent("word second "); 
console.log(param); // outputs 'word%20second%20' 

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

0

सबसे आसान तरीका है, मुझे लगता है, XMLHttpRequest भेजने से पहले encodeURIComponent जावास्क्रिप्ट में स्ट्रिंग के लिए है, और फिर urldecode यह पीएचपी

में
+1

urldecode स्वचालित रूप से किया जाता है – zerkms

4

एक पैरामीटर रिक्त स्थान, आदि आप शामिल करने की अनुमति के लिए जावास्क्रिप्ट escape() [W3Schools] फ़ंक्शन का उपयोग करना चाहेंगे।

escape('hello world ') = 'hello%20world%20'; 

स्वचालित रूप से डिकोड/unescape पैरामीटर, रिक्त स्थान (जैसे बहाल करने के लिए किसी भी अन्य पात्रों जो एक पैरामीटर का मान का हिस्सा जब AJAX के माध्यम से भेजा नहीं किया जा सकता के साथ "=" या PHP ओर "से निपटने & "।

पीएचपी के भीतर, अगर आप किसी भी आगे या पीछे रिक्त स्थान बंद पट्टी के लिए इच्छुक हैं, तो आप PHP का उपयोग कर सकते trim() [PHP.net] कार्य करते हैं।

trim('hello world ') = 'hello world';