apiController에서 상속 받아 새로운 ApiController 클래스를 만들고 JsonContent 동작을 추가하십시오.
public class ApiCustomController: System.Web.Http.ApiController {
public class JsonContent : ActionMethodSelectorAttribute {
public override bool IsValidForRequest(
ControllerContext controllerContext
, System.Reflection.MethodInfo methodInfo) {
var Request = controllerContext.HttpContext.Request;
string requestedWith = Request.ServerVariables["HTTP_X_REQUESTED_WITH"] ?? string.Empty;
return string.Compare(requestedWith, "XMLHttpRequest", true) == 0
&& Request.ContentType.ToLower().Contains("application/json");
}
}
}
그런 다음 컨트롤러에서 사용자 지정 컨트롤러 클래스, "ApiCustomController"상속과 ActionMethodSelectorAttribute "JsonContent"를 사용합니다.
public class IngredientsController : App_a_matic.Controllers.ApiController {
// GET api/values
[HttpGet]
[JsonContent]
public IEnumerable<string> Get() {
return new string[] { "value1", "value2" };
}
}
이 당신이에 보내고있다 "contentType의 '응용 프로그램/JSON'"와 같은 :
$(function() {
$.ajax({
url: 'api/Products/Ingredients'
, contentType: 'application/json'
, dataType: 'json'
, type: 'GET'
, success: function (result) {
console.log(result);
}
});
})
만해서 getJSON를 사용하는 반대로합니다.