2013-04-30 3 views
0
category = new Category({name: name, img: img}); 
category.save(null, { 
success: function(){ 
    console.log("saved") 
}, 
error: function(){ 
    console.log("error") 
} 
});  

양식이 있고 제출 버튼을 클릭하면 이름과 이미지 데이터가 캡처되어 위의 코드가 실행됩니다.데이터베이스에서 성공적으로 모델 저장 후 오류 콜백이 발생합니다.

그러나 POST 요청은 보류 상태로 남아 있으며 페이지를 새로 고칠 때만 완료됩니다. 데이터가 데이터베이스에 저장 되더라도 오류 콜백이 호출됩니다. 여기서 무엇이 잘못되고 있는지 알지 못합니다. 백본에 익숙하지 않고이 경우 백본 관계형을 사용하고 있습니다.

+0

POST 요청을 할 때 http 요청을 확인하십시오 (Chrome을 사용하고, 개발 도구를 열고, 네트워크 탭에서 요청을 찾는 것이 좋습니다). 그러면 요청한 상황에 대한 자세한 정보가 제공됩니다. – kinakuta

+0

예, Chrome을 통해 보류 중 상태에 대해 알았습니다. 제출 후 보류 상태로 있으며 새로 고침을하면 데이터가 데이터베이스에 저장되지만 오류 콜백이 호출됩니다. – kumarz

+0

피 들러를 사용해 보셨습니까? – Justin

답변

2

POST가 대기중인 이유는 서버에서 응답을받지 못했기 때문입니다 아직. 서버에 도달하여 요청을 처리했지만 HTTP status code을 전달하지 않으면 프런트 엔드는 프론트 엔드가 보류 상태가 될 때까지 보류 상태로 남아 있습니다.

백 엔드를 확인하고 AJAX PUT, POSTS 및 DELETE가 HTTP 상태 코드를 반환하는지 확인하십시오. 성공적인 통화를 시작할 수있는 좋은 장소는 상태 코드 200을 반환하는 것입니다. 이는 확인을 의미합니다. 모든 것이 잘되었습니다. 실패의 경우 기존 대기 모드 인 상태 코드 500 '내부 서버 오류'가 발생합니다. 거기에서 선택하는 것보다 더 많은 것이 있습니다.

희망이 있습니다.

+0

감사합니다. 제 경우의 노드 서버 인 백엔드는 응답을 보내지 않았습니다. res() 메서드를 사용하여 문제를 해결했습니다. – kumarz