我已经检查了类似的问题,进行了大量的研究,在2个月内询问了几个人,但我仍有问题,我有时(不总是,我无法重现)在提交时刷新页面DOM表单here in action您还可以在底部找到文本网站的链接。点击后它应该转到支付网关,而不是刷新。
所以在其他帖子中我看到放置e.preventDefault()
和return false
这是一个好主意,以避免形式更新,但我仍然得到了刷新!知道还有什么可以尝试吗?我做错了吗?
我认为与DOM,提交或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;
});
答案 0 :(得分:1)
改变这个:
$('#form-payment').submit(function(e) { e.preventDefault();
对此:
$('#form-payment').on('submit', function(e) { e.preventDefault();
这解决了点击事件的类似问题..
我改变了这个:
$('#update').click(function(e) {
对此:
$('#update').on('click', function(e) {
这解决了我的问题
将代码添加到此:
document.addEventListener("DOMContentLoaded", function(event) {
//INSERT CODE HERE
});