Je fais quelque chose apparemment facile. J’ai une fonction jQuery qui appelle une méthode de projet WebApi (c # visual studio 2013). Cette méthode accepte une chaîne en entrée en tant que paramètre.
c’est mon code javascript
function insert() { var tag='test'; $.ajax({ type: "POST", contentType: "application/x-www-form-urlencoded" url: 'api/TAGS/InsertTAG', data: tag, success: function (msg) { $("#result").html(msg); }, error: function () { alert("fail"); } }); }
WebApiConfig.cs:
config.Routes.MapHttpRoute( name: "DefaultApiGet", routeTemplate: "api/{controller}/{action}/{id}/{filter}", defaults: new { id = RouteParameter.Optional, filter = RouteParameter.Optional } );
Manette
[HttpPost] public IHttpActionResult InsertTAG([FromBody] ssortingng tag) { var da = new TagsDataAccess(); return result = da.InsertTAG(tag); }
L’appel ajax est réussi, mais la balise de paramètre qui arrive dans InsertTAG est null.
Où est-ce que je me trompe?
La charge utile POST devrait être:
data: '=' + tag,