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.