JavaScript में URL को सही तरीके से कैसे एनकोड करें? encodeURI बनाम encodeURIComponent
सभी को नमस्ते! मैं JavaScript में नया हूँ और URL के साथ काम करते समय एक समस्या का सामना करना पड़ा। मुझे सर्वर पर एक अनुरोध भेजना है जिसमें पैरामीटर हों जिनमें विशेष वर्ण और सिरिलिक अक्षर हों। उदाहरण के लिए, मेरे पास एक सर्च स्ट्रिंग है: "кофе & чай / рецепты?"।
मैंने `encodeURI()` का उपयोग करने की कोशिश की, लेकिन देखा कि कुछ वर्ण एनकोड नहीं होते। फिर मुझे `encodeURIComponent()` मिला, लेकिन अब मुझे समझ नहीं आ रहा कि कब कौन सा तरीका उपयोग करना चाहिए।
यहाँ मेरे कोड का एक उदाहरण है जो उम्मीद के मुताबिक काम नहीं करता:
```javascript
const baseUrl = "https://api.example.com/search";
const query = "кофе & чай / рецепты?";
const fullUrl = baseUrl + "?q=" + encodeURI(query);
console.log(fullUrl);
// परिणाम: https://api.example.com/search?q=%D0%BA%D0%BE%D1%84%D0%B5%20&%20%D1%87%D0%B0%D0%B9%20/%20%D1%80%D0%B5%D1%86%D0%B5%D0%BF%D1%82%D1%8B?
// देखा जा सकता है कि & और ? एनकोड नहीं हुए
```
`encodeURIComponent` का उपयोग करने की कोशिश की:
```javascript
const encodedQuery = encodeURIComponent(query);
console.log(encodedQuery);
// %D0%BA%D0%