Avatar ·

¿Cómo codificar correctamente una URL en JavaScript? encodeURI vs encodeURIComponent

```html ¡Hola a todos! Soy nuevo en JavaScript y me encontré con un problema al trabajar con URLs. Necesito enviar una solicitud al servidor con parámetros que contienen caracteres especiales y cirílico. Por ejemplo, tengo una cadena de búsqueda: "кофе & чай / рецепты?". Probé usar `encodeURI()`, pero noté que algunos caracteres no se codifican. Luego encontré `encodeURIComponent()`, pero ahora no entiendo qué método usar cuándo. Aquí hay un ejemplo de mi código que no funciona como se esperaba: ```javascript const baseUrl = "https://api.example.com/search"; const query = "кофе & чай / рецепты?"; const fullUrl = baseUrl + "?q=" + encodeURI(query); console.log(fullUrl); // Resultado: 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? // Se ve que & y ? quedaron sin codificar ``` Probé usar `encodeURIComponent`: ```javascript const encodedQuery = encodeURIComponent(query); console.log(encodedQu ```