提问人:Ajith 提问时间:7/13/2023 更新时间:7/13/2023 访问量:17
在 CodeIgnetor4 上使用 AJAX 方法失败后无法重新提交表单
unable to resubmit the form after failer using ajax method on codeignetor4
问:
我正在使用表单提交弹出窗口,如果表单提交成功意味着没有问题,如果表单提交失败,我们会在单击关闭时显示一个弹出窗口,我们的表单有我们输入的数据,所以我们再次更正错误字段,我们提交按钮不起作用。我认为这是生成 CSRF 的一个问题,我该如何解决这个问题?
<script>
$(document).ready(function() {
// Handle form submission
$('#registrationForm').submit(function(e) {
e.preventDefault();
var csrfHash = '<?php echo csrf_hash(); ?>';
$.ajaxSetup({
headers: {
'X-CSRF-Token': csrfHash
}
});
// Get form data
var formData = $(this).serialize();
// Perform AJAX request
$.ajax({
url: '<?= base_url('register-post'); ?>',
type: 'POST',
data: formData,
success: function(response) {
if (response && response.success) {
// Handle successful form submission
console.log(response);
showPopup('Success!', 'Registration successful!');
setTimeout(function() {
location.reload();
}, 3000);
} else {
// Handle failed form submission
var errorMessage = response && response.message ? response.message :
'Error occurred during form submqwwission.';
showPopup('Failed!', response.message);
console.error(errorMessage);
}
},
error: function(xhr, status, error) {
// Handle AJAX error
if (csrfHash) {
console.log('ok3')
console.log(csrfHash);
} else {
console.log('faaa')
// Handle CSRF verification failure
// ...
}
showPopup('Failed!', 'Error occurred during form submission: ' + xhr
.responseText);
console.error(error);
}
});
});
});
这是我的函数,我需要的是每次提交时生成新的 CSRF
答: 暂无答案
评论