Salut,
J'espère que c'est là qu'il faut poster car ça concerne : Ajax, AngularJS et ASP.net MVC 5 Web Api 2.0 et HttpPost.
Je vous passe les détails mais en gros :
En step by step, je vois que l'objet offer contient bien les données que je veux.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 //Je crée un objet var offre = { Id: -1, UserId: null, Title: $scope.what, Description: ""}; //Je le poste avec AngularJS $http.post("api/HonApi/PostIt", offer).then(onPostOfferSuccess, onPostOfferFailed);
Côté c# j'ai bien une instance de offer mais chacun de ses membres est vide, j'ai vérifié avec fiddler, la trame partant du navigateur contient bien les données.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 [HttpPost] public HttpResponseMessage PostIt(Offer offer) { HttpResponseMessage toReturn = new HttpResponseMessage(HttpStatusCode.OK); // En mettant le point d'arrêt ici return toReturn; }
Vous comprenez pourquoi ?
Merci
[EDIT]
Salut,
J'ai ajouté un intercepteur dans le httpbeginrequest, je reçois bien les données.
Donc, le souci ne se trouve pas entre la chaise et le clavier mais bien à l'intérieur d'MVC.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 protected void Application_BeginRequest(object sender,EventArgs e) { Byte[] inputBytes = new Byte[HttpContext.Current.Request.InputStream.Length]; HttpContext.Current.Request.InputStream.Position = 0; HttpContext.Current.Request.InputStream.Read(inputBytes, 0, inputBytes.Length); string requestString = ASCIIEncoding.ASCII.GetString(inputBytes); }
Un peu d'aide serait la bienvenue...
Merci
Partager