栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Web Api参数始终为null

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Web Api参数始终为null

$.ajax({    url: '/api/search',    type: 'POST',    contentType: 'application/x-www-form-urlenpred; charset=utf-8',    data: '=' + enpreURIComponent(request.term),    success: function (data) {        response(data.d);    },    error: function (result) {        alert('Error');    }});

基本上,您只能有一个标量类型的参数,该参数用

[FromBody]
属性装饰,并且您的请求需要使用
application/x-www-form-urlenpred
,并且POST有效负载应如下所示:

=somevalue

请注意,与标准协议相反,缺少参数名称。您仅发送值。

您可以在中阅读有关Web Api中的模型绑定如何工作的更多信息

this article

但是,当然,这种黑客入侵是一件病态的事情。您应该使用视图模型:

public class MyViewModel{    public string Value { get; set; }}

然后摆脱

[FromBody]
属性:

public IEnumerable<string> Post(MyViewModel model){    return new string[] { "value1", "value2", model.Value };}

然后使用JSON请求:

$.ajax({    url: '/api/search',    type: 'POST',    contentType: 'application/json; charset=utf-8',    data: JSON.stringify({ value: request.term }),    success: function (data) {        response(data.d);    },    error: function (result) {        alert('Error');    }});


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/401621.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号