我正在設置一個簡單的MVC項目,因爲我想擴展我在Umbraco範圍之外的知識,在那裏我通常會執行此類項目。傳遞給WebApi方法的參數在到達方法體時爲空
我對WebApi很熟悉,但似乎無法讓它在這種情況下工作。
我有我的觀點一個datepicker被初始化與下面的JavaScript:
$('#id-tour_0').datepicker({
changeMonth: true,
changeYear: true,
showOn: "button",
buttonImage: "Content/themes/base/images/icon_calendar.gif",
buttonImageOnly: true,
onSelect: function (date) {
$.ajax({
url: '/api/tour/requesttours',
type: 'POST',
data: JSON.stringify(date),
dataType: 'json',
success: function (data){
console.log(data);
}
});
}
});
時在日期選擇器中進行選擇這則帖子下面的WebAPI方法:
public class TourController : ApiController
{
[System.Web.Http.AcceptVerbs("GET", "POST")]
public string RequestTours([FromBody] String request)
{
return request;
}
}
隨着我的WebApiConfig.cs設置如下:
public static void Register(HttpConfiguration config)
{
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
但是,當我brea kpoint我的WebApi方法我可以看到這個請求是空的。爲什麼是這樣的,我怎樣才能讓它接收我的Javascript發佈的值?
N.B.我已經checkeed在Firebug和正確的日期被正確地發佈到方法
如何設置您的數據值幾乎爲空,您發送它的位置必須用參數名稱指定,如果有數據:'{request:''+ date.Date +'「}' –