2013-05-21 3 views
3

ASP.NET WebApi를 사용하여 내 REST 서비스를 구축하고 있습니다. 많은 경우, 200 OK 메시지 (본문 없음) 만 반환하면됩니다. (그것은 포스트)와 같은 응답은 일반적으로 같습니다 모두 jQuery를 1.8에서 잘 작동jQuery 2.0 + ASP.NET WebApi POST 빈 응답 = 실패

return this.Request.CreateResponse(HttpStatusCode.OK); 

또는

return new HttpResponseMessage(HttpStatusCode.OK); 

가 있지만 버전이 사용하는 ""의에서 responseText를 사용할 수 있기 때문에 그건 (이 그것을 그런 다음 parseJSON을 실행하려고 시도합니다. 그 (빈 텍스트)에 실패한 parseJSON가 잘못되었다고 생각으로

그러나, jQuery를 2.0, 내가이 문제를 해결하려면 어떻게 .. 대신 deferred.fail() 콜백에서

끝?

UPDATE

이 사용

예 JS 호출 :

var deferred = $.ajax({ 
    "type": "POST", 
    "url": something, 
    "contentType": "application/json; charset=utf-8", 
    "dataType": "json", 
    "data": JSON.stringify(whatever) 
}); 

deferred.fail(function (msg) { 
    // it ends up in here 
}); 

호는 JSON 응답 될 수 있지만, 종종 단지 어떤 이유없이 몸 OK (200)를 반환해야 나는 여전히 dataType/contentType을 지정하고있다. (시체가 있는지 미리 알 수있는 방법이 없다. 서버가 그것을 결정할 논리를 가지고있다.)

+0

당신이 당신의 $ 아약스 호출의 예를 추가 할 수 있습니다

는 문서를 참조하십시오? –

+0

자, JS ajax 호출 예제를 추가했다. – automaton

답변

4

dataTypeJSON으로 설정되어 있습니다. 즉, 서버에서 JSON을 다시 가져올 것으로 예상됩니다.

당신은 그 문제가 해결되는지 확인 text이 변경 시도 할 수 있습니다.

아니면 항상 비어 있지의 경우 형식을 인식 할 수 있어야한다 이론적으로 jQuery를로 완전히을 떠나보십시오.

http://api.jquery.com/jQuery.ajax/

관련 문제