我需要调用一个Web api,这个Web api方法接受两个参数,一个是enum类型,另一个是int。我需要使用 Ajax Jquery 调用此 api。如何传递枚举参数。
API代码
[HttpGet]
public HttpResponseMessage GetActivitiesByType(UnifiedActivityType type, int pageNumber)
{
var activities = _activityService.GetAllByType(type, pageNumber);
return Request.CreateResponse(HttpStatusCode.OK, activities);
}
我的 Ajax 调用代码:
var jsonData = { 'type': 'Recommendation', pageNumber: 0 };
$.ajax({
type: 'get',
dataType: 'json',
crossDomain: true,
url: CharismaSystem.globaldata.RemoteURL_ActivityGetAllByType,
contentType: "application/json; charset=utf-8",
data: jsonData,
headers: { "authorization": token },
error: function (xhr) {
alert(xhr.responseText);
},
success: function (data) {
alert('scuess');
}
});
任何建议..
最佳答案
枚举被视为从 0 开始的整数,因此请更改:
var jsonData = { 'type': 'Recommendation', pageNumber: 0 };
对此:
var jsonData = { 'type': 0, pageNumber: 0 };
客户端需要知道索引号。您可以对它们进行硬编码,或者使用 @Html.Raw(...) 将它们发送到页面中,或者使它们在另一个 ajax 调用中可用。
关于asp.net-mvc - 将枚举参数从 Ajax Jquery 传递到 MVC Web api,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21233634/