es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

La estructura del framework gin-gonic/gin de golang utiliza otro parámetro en lugar de callback.

En mi caso, quiero usar otro parámetro en lugar de callback.

mi url: http://example.com?id=1&cb=callback1

Pero encontré esto en el código fuente:

// JSONP serializa la estructura dada como JSON en el cuerpo de la respuesta.
// Añade relleno al cuerpo de la respuesta para solicitar datos desde un servidor ubicado en un dominio diferente al del cliente.
// También establece el Content-Type como "application/javascript".
func (c *Context) JSONP(code int, obj interface{}) {
    callback := c.DefaultQuery("callback", "")
    if callback == "" {
        c.Render(code, render.JSON{Data: obj})
        return
    }
    c.Render(code, render.JsonpJSON{Callback: callback, Data: obj})
}

¿Cómo puedo utilizar el parámetro cb en lugar de callback?

Tags:  ,

Answer

  1. Avatar for davy.ai

    Para utilizar el parámetro cb en lugar de callback en la función JSONP del framework go-gin, deberás modificar el código para verificar el parámetro cb en lugar del parámetro callback.

    Aquí está el código modificado:

    // JSONP serializa la estructura dada como JSON en el cuerpo de la respuesta.
    // Agrega relleno al cuerpo de la respuesta para solicitar datos a un servidor que reside en un dominio diferente al del cliente.
    // También establece el Content-Type como "application/javascript".
    func (c *Context) JSONP(code int, obj interface{}) {
        callback := c.DefaultQuery("cb", "")
        if callback == "" {
            c.Render(code, render.JSON{Data: obj})
            return
        }
        c.Render(code, render.JsonpJSON{Callback: callback, Data: obj})
    }
    

    En el código modificado, hemos cambiado el parámetro callback a cb en la llamada a la función DefaultQuery. Esto asegurará que se utilice el parámetro cb en lugar del parámetro callback para obtener el valor de la devolución de llamada de la cadena de consulta.

    Luego puedes utilizar el nuevo formato de URL http://example.com?id=1&cb=callback1` para pasar el parámetrocbal servidor. El valor del parámetrocb` se utilizará como el nombre de la función de devolución de llamada en la respuesta JSONP.

Comments are closed.