2014-03-30 8 views
0

양식을 제출할 때 AJAX를 통해 데이터베이스에 일부 데이터를 저장 한 다음 양식의 기본 조치를 재개하여 PayPal에 제출해야합니다. 이렇게하면 데이터가 데이터베이스에 저장되지만 양식은 더 이상 제출되지 않습니다. 내가 시도jQuery가 AJAX를 통해 조치를 수행하기 전에 양식이 작동하지 않습니다.

$('#saveBeforePay').on('submit', function(e){ 
    e.preventDefault(); 
    $.post('ajax/save-cart', $(this).serialize()) 
    .done(function(response){ 
     if (response == 200) { 
      return true; 
     } 
    }); 
}); 

또 다른 방법은 이제 양식을 제출이

$('#saveBeforePay').on('submit', function(e){ 
    $.post('ajax/save-cart', $(this).serialize()) 
    .done(function(response){ 
     if (response != 200) { 
      e.preventDefault(); 
     } 
    }); 
}); 

하지만 데이터는 데이터베이스에 저장하지 않습니다. 임시 헤더 표시됩니다 그리고 Status Text 여기 뭐가 문제 Canceled

이다 : 나는

요청 헤더주의 네트워크 탭에서이 정보를 얻을?

는 편집 : 작동 코드 나는 보통 이런 식으로 뭔가 함께 할 무엇

$('#saveOrder').on('click', function(e){ 
    e.preventDefault(); 
    var token = $('.token').val(); 
    $.post('ajax/save-cart', {token: token}) 
    .done(function(response){ 
     if (response == 200) { 
      $('#saveBeforePay').submit(); 
     } 
    }); 
}); 

답변

1

는 형태의 앵커 태그가 오히려 양식보다 그에게 초기 이벤트를 바인딩입니다 onsubmit

$('a#submit').on('click', function() { 
    $.post('foo', {}).done(function() { 
     $(this).closest('form').trigger('submit'); 
    }); 

}); 

이렇게하면 정상적인 폼 실행을 방지 할 수 없으므로 사용하려고 할 때 submit 이벤트를 호출하면됩니다.

+0

나를 구원해 주셨습니다. –

+0

문제 없으니 기꺼이 도와주세요. 이것을 대답으로 표시하는 것을 잊지 마십시오.) –

+0

예, 5 분 정도 기다려야합니다. –