none
Enviar Array largo de Javascript a MVC RRS feed

  • Pregunta

  • Hola, les cuento que estoy creando un punto de venta, en el cual ingresa los datos del cliente y una lista de items que va a comprar.

    Para almacenar dichos items lo que he hecho es crear un array en javascript (todo es virtual hasta que confirme la compra), con el siguiente "modelo":

    {

    Codigo: "", Descripcion: "", UM: "", Cantidad: 1, ValorUnitario: 2500, Descuento: 0, Total: 2500 }

    Cada item que el cliente desea comprar se agrega al array un modelo como en el de arriba. Ahora, ¿Como puedo enviar ese array tan grande y complejo al servidor (Controlador) para luego ser grabada en una bd?

    Gracias.

    martes, 15 de octubre de 2013 16:50

Respuestas

  • Asi es, y como dije anteriormente, debido a que el array es muy largo, pues tiene un rendimiento bajo y marca un error de que la URL es demasiado larga, pero ya he solucionado el problema. Lo que hice fue que al oprimir el botón "Enviar" pues a traves de JQuery y JSON deserializara el Array largo a una cadena de string y lo seteara en un campo oculto dentro de un "Form" y hacer el submit correspondiente con $("form").submit()....

    Gracias de todas formas. (:

    • Marcado como respuesta MAXDELPHI miércoles, 16 de octubre de 2013 20:51
    miércoles, 16 de octubre de 2013 20:51

Todas las respuestas

  • hola

    por lo que veo ese array que comentas en realidad es JSON, no ?

    podrias usar $.ajax de jquery para invocar un action de un controlador

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    martes, 15 de octubre de 2013 19:19
  • Precisamente eso ocupo y me da un pésimo rendimiento debido a que el array que estoy manejando es demasiado largo, me dice algo como " URI demasiado largo " he visto soluciones, peor no me deja del todo conforme :S

    Por eso toy buscando otra alternativa o salida para enviar esos parametros.

    martes, 15 de octubre de 2013 19:34
  • hola

    pero no envias el dato por POST ? o sea no lo envies por GET usa POST

    si usas $.ajax puedes indicar el

    $.ajax({
    type: "POST",
    url: "some.php",
    data: { name: "John", location: "Boston" }
    })
    y poner en data el JSON con los datos

    http://api.jquery.com/jQuery.ajax/

    por supuesto marca el action como [HttpPost]

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina


    miércoles, 16 de octubre de 2013 0:06
  • Asi es, y como dije anteriormente, debido a que el array es muy largo, pues tiene un rendimiento bajo y marca un error de que la URL es demasiado larga, pero ya he solucionado el problema. Lo que hice fue que al oprimir el botón "Enviar" pues a traves de JQuery y JSON deserializara el Array largo a una cadena de string y lo seteara en un campo oculto dentro de un "Form" y hacer el submit correspondiente con $("form").submit()....

    Gracias de todas formas. (:

    • Marcado como respuesta MAXDELPHI miércoles, 16 de octubre de 2013 20:51
    miércoles, 16 de octubre de 2013 20:51