2014-06-04 4 views
1

일부 JSON을 서비스로 보내도록 AJAX 게시물 요청을 받았지만 제대로 작동하지 못합니다. 데이터가 서비스에 도착하고 저장되지만 내 기능은 성공하지 못한 것처럼 작동하고 모든 오류 메시지를 반환합니다.AJAX POST 요청이 실패하지만 데이터가 전송됩니다.

누군가가 왜 이런 일이 일어 났는지 설명 할 수 있습니까? 검색 한 결과 이유를 설명하는 항목을 찾을 수 없습니다.

saveDate: function ($target) { 
     var values = $target.data("DateRangesWidget").options.values; 
     var beginDate = values.dr1from.split("/"); 
     var endDate = values.dr1to.split("/"); 
     var compareBeginDate = values.dr2from.split("/"); 
     var compareEndDate = values.dr2to.split("/"); 
     var date = { 
      "ID": 1, 
      "BeginDate": (beginDate[2] + '-' + beginDate[1] + '-' + beginDate[0]), 
      "EndDate": (endDate[2] + '-' + endDate[1] + '-' + endDate[0]), 
      "Aggregation": values.aggregation, 
      "Comparative": values.comparisonEnabled, 
      "ComparationType": values.comparisonPreset, 
      "ComparativeBeginDate": (compareBeginDate[2] + '-' + compareBeginDate[1] + '-' + compareBeginDate[0]), 
      "ComparativeEndDate": (compareEndDate[2] + '-' + compareEndDate[1] + '-' + compareEndDate[0]) 
     } 
     jQuery.support.cors = true; 
     $.ajax({ 
      url: 'http://localhost:9000/json/1', 
      cache: false, 
      type: 'POST', 
      contentType: 'application/json; charset=utf-8', 
      data: JSON.stringify(date), 
      dataType: 'json', 
      success: function (data) { //não funciona pq?? 
       //console.log('added'); 
       location.reload(); 
      }, 
      error: function (xhr, textStatus, errorThrown) { 
       console.log(errorThrown); 
       console.log(xhr); 
       console.log(textStatus); 
       //location.reload(); 
      } 
     }); 
    }, 
+3

:

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

당신이 다음과 같이 코드를 사용할 수 있습니다 응답 내용을 테스트하는 그렇다면? 문제의 코드를 게시하십시오. – 13ruce1337

+2

코드 예제와 코드의 동작이 예상 한 것과 다른 점에 대한 정보가 없으면 무엇이 잘못 될 수 있는지 설명 할 수 없습니다. –

+0

결과를 넣을 수 있습니까? 방화범이 끌려 오는 것과 같은거야? 데이터가 많을수록 더 쉽게 도움을받을 수 있습니다. –

답변

0

당신은 항상/완료 실패와 같은 후 항상// 이벤트를 jqXHR 객체의 이벤트를 등록하여 결과를 얻을 수 있으며, $ .post 방법은 jqXHR 객체를 반환합니다.

세부 문서를 참조하십시오 : 자바 스크립트의 모습 뭐죠

$.post(url, data).always(function(data|jqXHR, textStatus, jqXHR|errorThrown) { 

    // do something here. 

}); 
관련 문제