2016-08-08 2 views
2

web-api 페이지 (/api/attendances)에 대한 ajax 호출이 있습니다. 그 레코드를 삽입하고 결과로 OK()를 반환합니다..ajax() 호출은 서버 측 코드 (웹 API)에서 성공한 후에도 항상 .fail()을 호출합니다.

문제 :) 삽입이 제대로 수행하고 확인을 반환하지만, 대신에되는 .done의()/성공() 함수는,이 .Fail을 (호출/오류().

나는 두 가지 방법으로 그것을 시도 ($ 아약스()와 $ .Post는()), 둘 다 같은 결과

1)

$.post("/api/attendances", { gid: button.attr("data-gid") }) 
      .done(function() { 
       alert("success..."); 
       }) 
      .fail(function() { 
       alert("Something failed..."); 
       }); 
와 을 종료

서버 측 코드 :

2)

public class AttendancesController : ApiController 
    { 

    //.........other initialize , ... codes in controller 

    [HttpPost] 
    public IHttpActionResult Attend(AttendDto dto) 
    { 
     //.....check for duplicate , ... 

     var attendanceModel = new Attendance 
     { 
      AttendeeId = userId, 
      gId = dto.gId 
     }; 
     _context.Attendances.Add(attendanceModel); 
     _context.SaveChanges(); 
     return Ok(); 
    } 
} 

3) 는 정의 DTO

public class AttendDto 
    { 
     public int gId { get; set; } 
    } 

는 어떤 도움을 주시면 감사하겠습니다.

+0

컨트롤러에서 예외와 같은 소리가 발생합니다. Ajax 기능에 .fail (funtion (error) {console.log (error);}를 추가하고 메시지를 표시하십시오. –

+0

@MarcusH 덕분에 처음으로 실행 한 후 다시 콜백 된 것 같습니다. 많이 재귀 "콘솔 –

답변

0

나는 SaveChanges 메서드에서 오류가 발생한다고 생각합니다. 저장 호출에 주석을 달고 API가 실패 함수로 이동하는지 확인하여 확인할 수 있습니다.

+0

고마워, 나는 그것을 점검했다. 올바르게 저장되고 올바른 장소로 간다. –

관련 문제