Hej,

Mam taki problem, nie potrafię poradzić sobie z załadowaniem wyniku wywołania AJAXa fizycznie do witryny. Widzę odpowiednią treść w narzędziach deweloperskich przeglądarki (jako odpowiedź z serwera), ale nie wiem, jak ją przekazać teraz do widoku na stronie. Tak wygląda kod:

if($this->form_validation->run()) {
            $data['success'] = TRUE;
            $this->load->view('Success');
        } else {                
            foreach($this->input->post() as $key => $value) {
                if($this->input->post()) {
                    $data['errors']['agreement'] = form_error('agreement', '<div class="checkbox_error">', '</div>');
                    $data['errors']['gdpr'] = form_error('gdpr', '<div class="checkbox_error">', '</div>');
                }
                $data['errors'][$key] = form_error($key);
            }
            echo json_encode($data);
        }

AJAX:

$('#add_user').on('submit', function(e) {
    e.preventDefault();

    $.ajax({
        url : $(this).attr('action'),
        method : "post",
        data: $(this).serialize(),
        dataType: "json",
        success: function(result) {
            $.each(result.errors, function(key, value) {
                var error = $('#' + key);
                error.closest('div.form-group')
                .find('.error, .checkbox_error').remove();
                error.after(value);
            });
        }
    });
});

Przy próbie wysłania błędnie wypełnionego formularza, na stronie pokazują się błędy, natomiast jak cały jest wypełniony, to kliknięcie wysłania formularza nie zmienia zawartości witryny, ale w response widzę pięknie całą treść strony, którą chcę wyświetlić w oknie przeglądarki. Docelowo chcę zastąpić całą stronę nową zawartością, którą widzę w wyniku wywołania AJAX.