загрузочная кастомная загрузка данных

Теперь я пытаюсь сгенерировать основанную на предмете таблицу загрузочной сетки для колледжа. Теперь она отлично работает для отображения всех данных. Но то, что я хочу, это расширенный поиск, где предмет выбирается на основе ветви и семестра. Я получаю параметры ветви и семестра и внутри функции syfetch.php я выполняю расширенный поиск. Здесь передается функция

$('#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, поэтому, пожалуйста, помогите мне.

1

Решение

Одним из параметров в конфигурации 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');
});

Первое, на что следует обратить внимание, — вам не нужно перестраивать всю сетку каждый раз, когда вы меняете семестр, поскольку единственное, что изменяется в сетке, это ее данные. Таким образом, вы сохраняете ссылку на сетку (как вы уже делали) и просто перезагружаете ее.

Каждый раз, когда загрузочная сетка перезагружается (например, пользователь перешел на другую страницу, заказал другой столбец или нажал кнопку обновления), что функция почты называется снова. Таким образом, вы можете загрузить ветвь и семестр из вашего DOM там.

Ваш предыдущий код переопределял formData вы передавали данные, потому что это создавало новый объект с помощью только id свойство, которое вы, вероятно, получили из некоторой демоверсии и не используете вообще:

return{
id: "b0df282a-0d67-40e5-8558-c9e93b7befed"};
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]