উত্তম উপায়:
এনকোডিউআরআইকিউম্পোন্টেটর নিম্নলিখিতগুলি বাদ দিয়ে সমস্ত অক্ষর থেকে পালিয়ে যায়:alphabetic, decimal digits, - _ . ! ~ * ' ( )
সার্ভারে অপ্রত্যাশিত অনুরোধগুলি এড়াতে আপনার কোনও ইউআরআই অংশ হিসাবে পাস করা হবে এমন কোনও ব্যবহারকারী-প্রবেশ করা প্যারামিটারগুলিতে এনকোডিউআরআইসি কম্পোনেন্টটি কল করা উচিত। উদাহরণস্বরূপ, কোনও ব্যবহারকারী একটি পরিবর্তনশীল মন্তব্যের জন্য "থাইমে এবং সময় = আবার" টাইপ করতে পারে। এই ভেরিয়েবলটিতে এনকোডেরিউআরকিউম্পোন্ট ব্যবহার না করা আবার মন্তব্য = থাইম% 20 এবং সময় = দেবে। নোট করুন যে অ্যাম্পারস্যান্ড এবং সমান চিহ্নটি একটি নতুন কী এবং মান জোড় চিহ্নিত করে। সুতরাং "থাইম এবং সময় = আবার" এর সমান পোষ্ট মন্তব্য কী থাকার পরিবর্তে আপনার কাছে দুটি পোষ্ট কী রয়েছে, একটি "থাইম" এর সমান এবং আরেকটি (সময়) আবার সমান।
অ্যাপ্লিকেশন / x-www-form-urlencoded (POST) এর জন্য, http://www.w3.org/TR/html401/interac...m- কনটেন্ট- টাইপ অনুযায়ী , স্পেসগুলি '+' দ্বারা প্রতিস্থাপন করতে হবে, তাই "+" এর সাথে "% 20" এর অতিরিক্ত প্রতিস্থাপনের সাথে একটি এনকোডেরিউআইআরকিউম্পোন্ট প্রতিস্থাপন অনুসরণ করতে পারে।
যদি কেউ আরএফসি 3986 (যা সংরক্ষণ করে!, ', (,), এবং *) মেনে চলা আরও কঠোর হতে চায় তবে এই অক্ষরগুলির কোনও আনুষ্ঠানিকভাবে ইউআরআই বিস্মরণ ব্যবহার নেই, তবে নিম্নলিখিতগুলি নিরাপদে ব্যবহার করা যেতে পারে:
function fixedEncodeURIComponent (str) {
return encodeURIComponent(str).replace(/[!'()]/g, escape).replace(/\*/g, "%2A");
}
$.param
।