asp.net – Web Api参数始终为null
发布时间:2020-05-22 11:54:49 所属栏目:asp.Net 来源:互联网
导读:为什么当我使用下面的ajax调用下面的Post方法时,该参数总是为null? public IEnumerablestring Post([FromBody]string value){ return new string[] { value1, value2, value };} 这里是通过ajax对Web API方法的调用: function SearchText()
|
为什么当我使用下面的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表单身份验证访问特定页
- asp.net – CultureInfo.CurrentCulture从中读取文化
- asp.net-mvc – 使用jQuery getJson发送list/array作为参数
- asp.net-mvc – 请求验证 – ASP.NET MVC 2
- asp.net-mvc – 将HttpRequestMessage转换为HttpRequest
- asp.net-mvc – MS Ajax与jQuery在ASP.NET MVC应用程序中的
- PagesSection.ValidateRequest是否足以阻止asp.Net中的XSS
- asp.net – 有没有比升级到Visual Studio 2010 Ultimate更便
- asp.net – HttpCookieCollection.Add和HttpCookieCollecti
- 在.NET应用程序中本地化大量文本的策略
推荐文章
站长推荐
- asp.net – 如何解决错误:当应用程序未在UserIn
- asp.net-mvc – 使用存储库模式来支持多个提供程
- 有没有办法加快asp.net中的编辑 – 编译 – 调试
- 我可以使用ASP.NET Core仅针对.NET 4.6.1吗?
- asp.net-mvc – ASP.Net MVC捆绑和分类
- ASP.Net MVC JQuery在IE8中未定义,但在Chrome中没
- asp.net-mvc-3 – MVC HttpPostedFileBase总是空
- .net – Razor RTM中的声明性助手方法
- 如何添加自定义属性到ASP.NET控件
- asp.net-mvc-3 – .Net Mvc 3触发器(提交按钮除外
热点阅读
