Теперь я пытаюсь создать тему на основе загрузочной таблицы для колледжа. Теперь ее работа отлично подходит для отображения всех данных. Но то, что я хочу, – это расширенный поиск, в котором объект выбирается на основе ветвей и семестров. Я получаю варианты ветвления и семестра и внутри функции syfetch.php я выполняю расширенный serach.Here отправляет функцию
$('#semester').change(function(){ var branch=$("#branch").val(); var semester=$("#semester").val(); var formData = new FormData(); formData.append('branch', branch); formData.append('semester', semester); var productTable = $('#product_data').bootgrid({ url: "sylfetch.php", ajax: true, data:formData, type:"POST", post: function(data) { return{ id: "b0df282a-0d67-40e5-8558-c9e93b7befed" }; }, formatters: { "link": function(column, row) { return "<a href='" + row.slink + "'>Download</a>"; } } }); $('#product_data').bootgrid('reload'); });
Теперь, когда я пытаюсь прочитать значения семестра и ветки внутри sylfetch.php, он перестает работать
$branch = $_POST["branch"]; $semester= $_POST["semester"];
Теперь я думаю, что есть ошибка с отправкой этих переменных с помощью ajax, поэтому, пожалуйста, помогите мне.
Одним из параметров конфигурации Bootgrid является post
который является функцией. Эта функция позволяет добавлять пользовательские значения к данным сообщения. Затем используйте его так:
var productTable = $('#product_data').bootgrid({ url: "sylfetch.php", ajax: true, data: formData, type: "POST", post: function (data) { return { branch: $("#branch").val(), semester: $("#semester").val(), }; }, formatters: { "link": function (column, row) { return "<a href='" + row.slink + "'>Download</a>"; } } }); $('#semester').change(function () { productTable.bootgrid('reload'); });
Первое, что нужно принять во внимание, – вам не нужно перестраивать всю сетку каждый раз, когда вы меняете семестр, поскольку единственная вещь, которая изменяется в сетке, – это ее данные. Таким образом, вы сохраняете ссылку на сетку (как вы уже делали) и просто перезагружаете ее.
Каждый раз при перезагрузке bootgrid (например, пользователь, который был изменен на другую страницу или заказан другим столбцом или нажал кнопку обновления), эта функция сообщения вызывается снова. Поэтому вы можете загружать ветку и семестр из своего DOM .
Ваш предыдущий код переопределял formData
вы передавали данным, потому что он создавал новый объект с id
свойством id
, который вы, вероятно, получили из какой-то демонстрации, и вы вообще не используете:
return{ id: "b0df282a-0d67-40e5-8558-c9e93b7befed" };