我正在请求一个asp.net webapi Post方法,我不能得到一个请求变量.
请求
jQuery.ajax({ url: sURL,type: 'POST',data: {var1:"mytext"},async: false,dataType: 'json',contentType: 'application/x-www-form-urlencoded; charset=UTF-8' }) .done(function (data) { ... });
WEB API Fnx
[AcceptVerbs("POST")] [ActionName("myActionName")] public void DoSomeStuff([FromBody]dynamic value) { //first way var x = value.var1; //Second way var y = Request("var1"); }
我该怎么办?
解决方法
第一种方式:
public void Post([FromBody]dynamic value) { var x = value.var1.Value; // JToken }
请注意,value.Property实际上返回一个JToken实例,以便获得您需要调用value.Property.Value的值.
第二种方式
public async Task Post() { dynamic obj = await Request.Content.ReadAsAsync<JObject>(); var y = obj.var1; }
以上两项工作均使用fiddler.如果第一个选项不适合您,请尝试将内容类型设置为application / json,以确保使用JsonMediaTypeFormatter反序列化内容.
原文地址:https://www.jb51.cc/aspnet/249733.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。