• Jobs
  • About Us
  • professionals
    • Home
    • Jobs
    • Courses and challenges
  • business
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

130
Views
¿Cómo paso una cadena a una solicitud Ajax GET como un parámetro de consulta sin que la cadena se codifique?

Estoy tratando de pasar una lista de identificadores de sujetos como un parámetro de consulta en una solicitud de obtención de Ajax, de modo que solo devuelva datos relacionados con los identificadores de sujetos que pasé. La API está configurada para recibir un subjectId como un solo número , o cadena de números separados por comas. Me aseguré de que lo que estoy enviando sea exactamente eso, "13,14,15" , pero cuando realizo la solicitud, la URL de obtención codifica la cadena para que se vea así: 13%2C14%2C15%2C .

La URL que quiero generar es (solo uso marcadores de posición para el nombre de dominio y el token de sesión) https://get-url.com/get-filter-counts?sessionToken=abcdefg&subjectId=13,14,15 . Cuando pruebo esto en el navegador, funciona.

La URL que estoy generando es https://get-url.com/get-filter-counts?sessionToken=abcdefg&subjectId=13%2C14%2C15%2C

He intentado investigar este problema, pero ni siquiera estoy seguro de qué es lo que está sucediendo allí. He visto un montón de ejemplos de pasar cadenas como parámetros de consulta en una solicitud de Ajax y, por lo que sé, lo estoy haciendo correctamente. He codificado una cadena en los parámetros a continuación solo para demostrar:

 $.ajax({ type: "GET", url: getURL, dataType: "JSON", data: { sessionToken: sessionToken, subjectId: "13,14,15" }, //process the returned result of the Ajax call success: (ajaxResult) => { console.log("subject id list:", subjectId); console.log("Ajax result:", ajaxResult); },

En el método de éxito, la consola devuelve la lista correcta de Id. de sujeto, así como los datos correspondientes a esas Id. de sujeto. Pero no puedo obtener los resultados en el navegador debido a este problema de URL.

¿Cómo puedo eliminar la codificación (si eso es lo que está sucediendo) de la cadena en la URL? Gracias.

almost 3 years ago · Juan Pablo Isaza
2 answers
Answer question

0

El problema es con el uso de comas entre números. La cadena que está enviando desde la interfaz se está codificando y, por lo tanto, la URL que ve. Si intenta encodeURIComponent(13,14,15) verá la misma respuesta. La solución sería usar algo más que comas y manejar eso en el backend o simplemente enviar una matriz.

almost 3 years ago · Juan Pablo Isaza Report

0

Bueno, estaba enviando la cadena de números con una coma final al final (no pensé que sería un problema), y resulta que es por eso que el servidor no estaba manejando correctamente la URL codificada. Solo compartiendo en caso de que esto sea útil para cualquier otra persona que vea esta pregunta.

El comentario de @Quentin fue esencialmente correcto, excepto que el problema fue, de hecho, un error tipográfico en la interfaz.

almost 3 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recommend me some offers
I have an error