Foros del Web » Programación para mayores de 30 ;) » .NET »

Enviar JSON desde Javascript aWebApi y recoger el valor

Estas en el tema de Enviar JSON desde Javascript aWebApi y recoger el valor en el foro de .NET en Foros del Web. Hola buenas, Resulta que estoy haciendo unas cosillas con javascript y necesito realizar algunas operaciones d back-end y me he decidido en hacer un ApiWeb, ...
  #1 (permalink)  
Antiguo 29/04/2016, 15:47
 
Fecha de Ingreso: julio-2015
Mensajes: 85
Antigüedad: 8 años, 8 meses
Puntos: 4
Enviar JSON desde Javascript aWebApi y recoger el valor

Hola buenas,

Resulta que estoy haciendo unas cosillas con javascript y necesito realizar algunas operaciones d back-end y me he decidido en hacer un ApiWeb, el problema viene cuando hago la petición ajax y desde el back (realizado en c#) no consigue recoger los datos aun ejecutándose el método.

Lo primero que hice fue Rutear el web api para poder llamar a métodos específicos, lo hice de la siguiente manera en el WebConfig:
Código C:
Ver original
  1. config.Routes.MapHttpRoute(
  2.                 name: "DefaultApiRouted",
  3.                 routeTemplate: "api/{controller}/{action}/{param}",
  4.                 defaults: new { param = RouteParameter.Optional }
  5.             );

Después de realizar esta operación me decidí realizar un método especifico en el ValuesController, que hereda de ApiController:


Código C:
Ver original
  1. [HttpGet]
  2.         [HttpPost]
  3.         public IHttpActionResult Prueba([FromBody]Persona data)
  4.         {
  5.             return Ok(new { message = "Llego" });
  6.         }
  7.  
  8.         public class Persona
  9.         {
  10.             public string username { set; get; }
  11.             public string email { set; get; }
  12.             public string password { set; get; }
  13.         }

He mirado por muchas paginas y he probado muchos ejemplos y no consigo que esa Persona que entra coja un valor, el método se me ejecuta pero esa persona es null, en vez de eso también he probado ICustomFormater, string, etc. Con todos esos he conseguido el mismo resultado, que el método se ejecute pero no coja valor la entrada.

Desde JavaScrpt lo envío de la siguiente manera:

Código Javascript:
Ver original
  1. var Persona = new Object()
  2.     Persona.username ="Pepe";
  3.     Persona.email ="[email protected]";
  4.     Persona.password ="12345";
  5.  
  6.     $.ajax({
  7.  
  8.         url: "http://localhost:5311/api/values/Prueba",
  9.         contentType: "application/json",
  10.         dataType: "json",
  11.         data: Persona,
  12.         type: 'POST',
  13.  
  14.         success: function (json) {
  15.  
  16.             alert(json.message)
  17.         },
  18.         error: function (xhr, status) {
  19.             alert("He petao")
  20.         },
  21.  
  22.         complete: function (xhr, status) {
  23.  
  24.         }
  25.  
  26.     });

El resultado que me envia la webApi hacia el js si la recibo bien y en formato JSOn pero es que a la inversa no soy capaz de recoger el valor, si alguien puede ayudarme se lo agradecería mucho.

Etiquetas: javascript, json, recoger, valor
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:51.