asp.net – Web Api参数始终为null
发布时间:2020-12-15 21:09:04 所属栏目:asp.Net 来源:网络整理
导读:为什么当我使用下面的ajax调用下面的Post方法时,该参数总是为null? public IEnumerablestring Post([FromBody]string value){ return new string[] { "value1","value2",value };} 这里是通过ajax对Web API方法的调用: function SearchText() { $("#txtSe
为什么当我使用下面的ajax调用下面的Post方法时,该参数总是为null?
public IEnumerable<string> Post([FromBody]string value) { return new string[] { "value1","value2",value }; } 这里是通过ajax对Web API方法的调用: function SearchText() { $("#txtSearch").autocomplete({ source: function (request,response) { $.ajax({ type: "POST",contentType: "application/json; charset=utf-8",url: "api/search/",data: "test",dataType: "text",success: function (data) { response(data.d); },error: function (result) { alert("Error"); } }); } }); } 解决方法$.ajax({ url: '/api/search',type: 'POST',contentType: 'application/x-www-form-urlencoded; charset=utf-8',data: '=' + encodeURIComponent(request.term),success: function (data) { response(data.d); },error: function (result) { alert('Error'); } }); 基本上你可以只有一个标量类型的参数,用[FromBody]属性装饰,你的请求需要使用application / x-www-form-urlencoded,POST有效载荷应该是这样的: =somevalue 注意,与标准协议相反,缺少参数名称。您只发送值。 您可以阅读更多关于Web Api中的模型绑定如何在 但当然这个黑客是一个生病的东西。您应该使用视图模型: public class MyViewModel { public string Value { get; set; } } 然后摆脱[FromBody]属性: public IEnumerable<string> Post(MyViewModel model) { return new string[] { "value1",model.Value }; } 然后使用JSON请求: $.ajax({ url: '/api/search',contentType: 'application/json; charset=utf-8',data: JSON.stringify({ value: request.term }),error: function (result) { alert('Error'); } }); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – Cookies和子域名
- ASP.NET MVC中ViewModel和Model之间的主要区别是什么?
- 从Asp.Net MVC 6 API返回JSON错误
- asp.net – 在Visual Studio 2008中将后期构建事件添加到网
- asp.net – ELMAH日志如何按类型忽略错误
- asp.net-core – Asp.Net 5 MVC 6 Startup.cs Beta8中的程序
- asp.net – ‘检测到Autofac循环组件依赖性’错误
- asp.net web api控制器中不允许405个方法选项?
- asp.net-mvc-3 – 在MVC3中使用强类型视图时可能的模型继承
- ASP.Net vnext api在localhost上工作,在azure上返回404
推荐文章
站长推荐
- asp.net-mvc – ASP.NET MVC 3绑定确保表单值优先
- asp.net-mvc – SignalR无法从外部程序集中找到集
- asp.net-mvc – ASP.NET MVC路由 – “空白”路由
- asp.net-mvc – 如何在.net MVC中使用Flux和事件
- asp.net-mvc – 使用查询字符串参数重写遗留URL
- .net – 我们如何在aspx页面中的用户控件上使用必
- 在Entity Framework中使用存储过程(三):逻辑删
- asp.net – 处理可变数量的表单字段
- asp.net-mvc – 用于字符串的ASP.NET MVC显示模板
- ASP.Net MVC 3控制器操作和打开新窗口
热点阅读