script parametros ejecutar con http get

http - parametros - Forma correcta de pasar múltiples valores para el mismo nombre de parámetro en la solicitud GET



ejecutar script powershell con parametros (2)

De hecho, no hay un estándar definido. Para respaldar esa información, eche un vistazo a wikipedia, en el capítulo Cadena de consultas . Hay el siguiente comentario:

Si bien no existe un estándar definitivo, la mayoría de los marcos web permiten que se asocien múltiples valores con un solo campo. [3] [4]

Además, cuando eche un vistazo al RFC 3986 , en la sección 3.4 Consulta , no hay definición para parámetros con valores múltiples.

La mayoría de las aplicaciones usan la primera opción que ha mostrado: http://server/action?id=a&id=b . Para respaldar esa información, eche un vistazo a este enlace de Stackoverflow , y este enlace de MSDN con respecto a las aplicaciones ASP.NET, que usan el mismo estándar para parámetros con valores múltiples.

Sin embargo, dado que está desarrollando las API, le sugiero que haga lo que es más fácil para usted, ya que la persona que llama de la API no tendrá muchos problemas para crear la cadena de consulta.

Estoy buscando cuál es la forma correcta de pasar múltiples valores para el mismo nombre de parámetro en una solicitud GET.

He visto URL como esta:

http://server/action?id=a&id=b

Y he visto URL como esta:

http://server/action?id=a,b

Mi entendimiento es que el primero es correcto, pero no puedo encontrar ninguna referencia para esto. Eché un vistazo a la especificación de http pero no pude ver nada sobre cómo se debe componer la parte de ''consulta'' de una URL.

No quiero una respuesta que diga "o bien está bien": si estoy creando un servicio web, quiero saber cuál de estos métodos es estándar para que las personas que usan mi servicio web sepan cómo pasar múltiples parámetros para el mismo nombre.

Entonces, ¿alguien me puede señalar a una fuente de referencia oficial para confirmar qué opción es la correcta?


var v1 = getParameterByName(''resultTerm1''); var v2 = getparamNameMultiValues(''resultTerm2''); function getParameterByName(name, url) { if (!url) url = window.location.href; name = name.replace(/[/[/]]/g, "//$&"); var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"), results = regex.exec(url); if (!results) return null; if (!results[2]) return ''''; return decodeURIComponent(results[2].replace(//+/g, " ")); } function getparamNameMultiValues(paramName){ var sURL = window.document.URL.toString(); var value =[]; if (sURL.indexOf("?") > 0){ var arrParams = sURL.split("?"); var arrURLParams = arrParams[1].split("&"); for (var i = 0; i<arrURLParams.length; i++){ var sParam = arrURLParams[i].split("="); console.log(sParam); if(sParam){ if(sParam[0] == paramName){ if(sParam.length>0){ value.push(sParam[1].trim()); } } } } } return value.toString(); }