加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

如何使用asp.net webapi获取Json Post Values

发布时间:2020-12-15 22:54:27 所属栏目:asp.Net 来源:网络整理
导读:我正在请求一个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 (
我正在请求一个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");

    }

我无法以两种方式获得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反序列化内容.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读