많은 주제가 있었지만 불행히도 각 사례마다 다른 케이스 (또는 대부분)가 있다고 생각합니다. 다른 주제를 통해 읽은 후에도 코드 작업을 수행 할 수 없으므로 필자는 특히 내 사례에 대한 전문가 의견을 정말 좋아할 것입니다.Ajax 요청시 오류 메시지가 표시되는 "형식이 없습니다."라는 메시지가 나타납니다.
상황 : MVC 4 응용 프로그램과 함께 WebApi 프로젝트에서 만든 WebService 메서드에 jQuery에서 Ajax 요청 호출을 사용하고 있습니다.
내 WebService에 컨트롤러 클래스는 다음과 같이 기본과 같습니다
public class AdditionalInfoController : ApiController
{
//GET api/AdditionalInfo
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2" };
}
//GET api/AdditionalInfo/5
public string Get(int id)
{
return "value";
}
//PUT api/AdditionalInfo/5
public void Put(int id)
{
string test = "";
}
}
jQuery를에서 내 아약스 요청은 다음과 같습니다
내 WebAPIConfig 파일은 다음과 같습니다function GetAdditionalInfo(obj)
{
var request = jQuery.ajax({
url: "/api/AdditionalInfo/Get",
type: "GET",
data: { id: obj.id },
datatype: "json",
async: false,
beforeSend: function() {
},
complete: function() {
}
})
.done(function (a,b,c) {
alert("Additional info was retrieved successfully!");
})
.fail(function (a,b,c) {
alert("An error happened while trying to get the additional info!");
});
}
:
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
}
마지막으로, 내 문제입니다.이 오류 메시지는 다음과 같은 경우에 계속 나타납니다. 나는 .fail에서 반환 된 데이터 변수를 검색하고이 기록 된 것입니다 :
"{
"Message":"No HTTP resource was found that matches the request URI 'http://localhost:59096/api/AdditionalInfo/Get?id=1'.",
"MessageDetail":"No type was found that matches the controller named 'AdditionalInfo'."
}"
사람이 가능한 한 빨리 나를 도울 수 있다면 나는 그것을 감사 정말 것이다. 미리 감사드립니다! 웹 API는 제어기 '형태'AdditionalInfo를 찾을 수 없습니다처럼 미친
감사합니다. Kiran, 내가 제공 한 코드를 복사하고, 무엇이라도 알아낼 수 있는지 확인합니다. 그러나 코드가 있고 애플리케이션을 실행하면 추적을 정확히 볼 수있는 위치는 어디입니까? 이전 직장에서 추적을 사용 했었지만 지금 당장 어떻게해야하는지 기억이 안납니다. 다시 한번 감사드립니다! – MadGatsu
EventViewer의 응용 프로그램 이벤트 로그 원본을 확인할 수 있습니다. 범주는 WebApiDiagnostics 여야합니다. –
감사합니다. Kiran하지만 당신이 말한대로 할 수 없었습니다. 전에 EventViewer 나 WebApiDiagnostics에 대해 들어 본 적이 없기 때문에 나는 당신의 마지막 코멘트를 해독 할 수 없었습니다. Google 검색은 열매 맺지 않았습니다. 나는 내 문제를 해결했지만, 나는 그 대답을 다음에 게시 할 것이다. 건배! – MadGatsu