我试图向webapi控制器传递一个参数(字符串值),但它不起作用。参数值以“null”的形式到达控制器。这是我的WebApi配置,
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{action}"
);
}
}控制器:
[HttpPost]
public HttpResponseMessage GetDataView(string request)
{
try
{
var result = DB.GetDataView(request);
return Request.CreateResponse(HttpStatusCode.OK, result);
}
catch (Exception ex)
{
//todo: log exception
throw ex;
}
}AJAX
var serverName = 'ds100';
$.ajax({
url: 'api/ServerInfo/GetDataView',
type: 'POST',
dataType: 'json',
data: serverName,
success: function (data, textStatus, xhr) {
},
error: function (xhr, textStatus, errorThrown) {
}我错过了什么吗?任何帮助都是非常感谢的。
发布于 2015-05-29 03:15:00
问题似乎出在您的ajax参数上data参数接收一个对象(json),该对象为您在请求中传递的每个值保留一个属性,我认为您应该使用
var serverName = 'ds100';
$.ajax({
url: 'api/ServerInfo/GetDataView',
type: 'POST',
dataType: 'json',
data: {request: serverName} ,
success: function (data, textStatus, xhr) {
},
error: function (xhr, textStatus, errorThrown) {
}这应该就够了
https://stackoverflow.com/questions/30514898
复制相似问题