在 CodeIgnetor4 上使用 AJAX 方法失败后无法重新提交表单

unable to resubmit the form after failer using ajax method on codeignetor4

提问人:Ajith 提问时间:7/13/2023 更新时间:7/13/2023 访问量:17

问:

我正在使用表单提交弹出窗口,如果表单提交成功意味着没有问题,如果表单提交失败,我们会在单击关闭时显示一个弹出窗口,我们的表单有我们输入的数据,所以我们再次更正错误字段,我们提交按钮不起作用。我认为这是生成 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

javascript php ajax codeigniter csrf

评论


答: 暂无答案