2014-09-08 14 views
0

작은 비트 지불 플랫폼을 개발 중입니다. 나는 frontend로 백엔드 및 html5 및 javascript로 nodejs를 사용하고 있습니다. 좋아, 내가 nodejs에서 알림을 완료 지불의 콜백을 수신하고 '유료'문자열을 클라이언트에 게시 부분을 코딩. 클라이언트 측에서는 POST 요청을 위해 10 분 동안 기다리는 코드를 작성해야합니다. 10 분 내에 요청이 도착하지 않으면 지불이 취소됩니다.자바 스크립트는 http 게시 요청을 위해 10 분 동안 청취하지 않습니다. 취소하지 않으려면

난 그냥 ..

감사합니다, 토르

답변

1

"POST"할 수 없습니다. 요청 시간 제한을 설정하는 데 너무 길어서 10 분이 소요됩니다 (브라우저에 따라 최대 시간 초과 - 브라우저에 따라 최대 2 분 최대).

요청이 게시 된 후 폴링을 수행 할 수 있습니다 nodejs 백엔드) - 당신이

에 대한 AJAX를 사용하는 것 또는 당신이 WebSocket을 socket.io 연결 및 "푸시"클라이언트에 nodejs 백엔드에서 결과를 설정할 수 있습니다 - http://en.wikipedia.org/wiki/WebSocket

+0

node.js socket.io 모듈을 사용하는 것처럼 보입니다. 감사! – Egidi

+0

@Aitor 위대한 :-) – splig

0

로를 십분 동안 HTTP POST 요청에 프론트 엔드가들을 수 있도록하고 그 기간에 도착하지 않을 경우 취소하는 방법에 대한 단서가 없다 jQuery :

$.ajax({url:"your url", timeout: 1000*60*10, success:function(result){ 
    //handle response here... 
}}); 

"url"을 url로 변경하십시오. 이 코드는 서버에 아약스 호출을하고 응답 할 때 success : 함수에 결과를 입력합니다. 1000 * 60 * 10의 시간 초과는 밀리 초 단위이며 10 분으로 계산됩니다.

+0

대답에 대한 몇 가지 설명을 제공해주십시오 – Huangism

0

당신은 사용할 수 있습니다 여기 참조 이것을위한 타이머. 타이머 폭을 자바 스크립트로 설정하고 POST 매개 변수가 수신되는지 여부를 확인합니다. 시간이 끝나면 사용자를 다른 페이지로 리디렉션 할 수 있습니다.