2013-08-01 5 views
0

간헐적으로 요청을 보내지 않는 ajax 게시물에 심각한 문제가 있습니다.

제 스크립트에서는 데이터베이스 항목을 작성하기 위해 getJson 요청을 먼저 내 서버에 배치합니다. 이것은 결코 실패하지 않는다 : 일부 값으로

jQuery.getJSON("/counter/placeorder", function(json) { 
    var txndatetime  = json.txndatetime; 
    var hash   = json.hash; 
    ... 

는 그때 외국 서버에 아약스 POST 요청을 보내려고 내 서버에서 JSON을 통해 돌아왔다.

$.ajax({ url: "https://www.someserver.com/processing", 
     type: "POST", 
     data: { 
      'txndatetime': txndatetime, 
      'hash': hash, 
      ... 
     }, 
     complete: function(xmlHttp, status) { 
      window.location = '/counter/exit'; 
     } 
    });  

그러나 문제는 외부 서버가 아닙니다. 나는 다른 디버깅 서버에 동일한 요청을 보내려고 시도한 또 다른 아약스 게시물에서 아약스 게시물을 래핑했습니다. 그리고 때로는 게시물 요청이 전혀없는 것처럼 보입니다.

그러나 데이터를 직렬화하고 내 디버깅 게시 요청의 URL에 넣으면 실제 처리 서버에 대한 다음 게시가 실행되지 않는 동안 디버깅 서버로 전송됩니다. 이것은 getJSON에서 가져온 데이터에 문제가 있음을 암시하지만 데이터는 작동하는 요청과 형식이 동일합니다.

내가 남긴 유일한 아이디어는 JSON에서 시간 초과 문제 일 수 있다는 것입니다. 어떤 아이디어?

+2

Firebug 또는 다른 디버거를 사용하여 실제로 서버로 전송되는 내용을 확인해야합니다. 문제가 드러날 수도 있습니다. – MightyPork

+0

그리고 그것이 근본 이슈와 같은 것이 아니라고 확신합니까? 언제나 리디렉션 할 때 Ajax 요청을 수행하는 요령은 무엇입니까? – adeneo

+0

MightyPork : 문제는 그것이 항상 나를 위해 일한다는 것입니다. 나는 많은 신용 카드 주문을 올렸고 모든 것이 통과되었습니다. 문제는 때로는 설명 할 수없는 고객 주문이 통과되지 않는다는 것입니다. – submnml

답변

0

마지막으로 두 번째 양식을 만들고 jquery를 통해 숨겨진 입력 필드를 추가 한 다음 제출하여 문제를 해결했습니다. 분명히 코드의 요소가 실행되는 순서에 차이가 있으며 아약스 요청이 모든 시점에서 조기에 실행되지만 어쨌든 언제나 형식으로 실행됩니다. 매번 작동합니다.