Я создаю веб-приложение, которое позволит пользователям следить за темами обсуждений в формате вопросов и ответов. Для этого при отображении вопросов у меня есть кнопка «Подписаться» рядом с каждым вопросом. Я хочу, чтобы пользователи могли отслеживать эти темы без перезагрузки страницы, используя AJAX. Итак, я хочу, чтобы вызов AJAX:
1) Отправьте форму обновления базы данных записи следующих отношений; а также
2) Заменить кнопку «Подписаться» на «Подписка»
Вот мой код JavaScript:
$("#submitFollow").click(function() {
var type = $("input#type").val();
var u_id = $("input#u_id").val();
var e_id = $("input#e_id").val();
var dataString = 'type='+ type + '&u_id=' + u_id + '&e_id=' + e_id;
$.ajax({
type: "POST",
url: "<?=site_url()?>/follow/ajaxFollow",
data: dataString,
success: function() {
$('#following').html("Following");
.hide()
.fadeIn(1500)
}
});
return false;
});
});
Вот как выглядит мой код формы. Я исключил действие и метод, чтобы форма не отправлялась регулярно. Я пытался предотвратить дефолт с помощью JS, но это не сработало. (Значения заполняются моделью):
<div id="following">
<form id="followForm" action="" method="">
<input type="hidden" name="type" id="type" value="question">
<input type="hidden" name="u_id" id="u_id" value="1">
<input type="hidden" value="12" name="e_id" id="e_id">
<input type="submit" id="submitFollow" value="Follow Question" class="submitFollow">
</form>
</div>
Прямо сейчас контроллер довольно прост - он просто берет массив переменных post и передает их прямо в базу данных.
Я не слишком хорош в JavaScript, поэтому приношу свои извинения, если я уделяю ваше время простой проблеме.