Я проверил подобные вопросы, провел много исследований, задал несколько человек в течение 2 месяцев, но у меня все еще есть проблема, иногда я (не всегда, и я не могу воспроизвести) обновляю страницу при отправке формы DOM здесь в действии Здесь у вас также есть ссылка для текстового веб-сайта внизу. После нажатия он должен перейти на платежный шлюз, не обновляя.
Так что в других постах я видел, что было бы неплохо поместить e.preventDefault()
и return false
, что я и сделал, чтобы избежать обновления формы, но я все еще получаю обновление! Есть идеи, что еще попробовать? Я сделал что-то не так?
Я думаю, что-то связано с DOM, submit или ajax.
Не имеет смысла .. любой совет, что я должен делать. И почему только 10% пользователей (с разными исследователями)
Первый вывод ajax, который читается по следующему коду:
'action' => 1,
'url' => 'https://sis.redsys.es/sis/realizarPago',
$('#form-p
ayment '). Submit (function (e) {
e.preventDefault ();
var data = $('#form-payment').serialize();
$.ajax({
url: "{{ url('/pago') }}",
data: data,
headers: {
'X-CSRF-TOKEN': "{{ csrf_token() }}"
},
method: 'POST',
timeout: 20000, // sets timeout to 5000 = 5 seconds
retryCount: 0, // start retry count
retryLimit: 1, //will let you retry a determined number of times
beforeSend: function(data) {
console.log(data);
},
success: function(data) {
console.log(data);
if (data.action == 1) {
//delete if the form it's already there
$('#TDCform').remove();
var form = $('<form id ="TDCform" action="' + data.url + '" method="post">' +
'<input type="hidden" name="Ds_MerchantParameters" value="' + data.params + '" />' +
'</form>');
$('#form-payment').after(form);
$('#TDCform').submit();
//$('#form-payment').off();
} else {
var errorString = 'There's and error.';
(".taberrors").html(errorString).fadeIn(2000);
$('html, body').animate({
scrollTop: $('.taberrors:visible').offset().top - 100
}, 1000);
}
},
});
return false;
});