#javascript #php #ajax #codeigniter-3
#javascript #php #ajax #codeigniter-3
Вопрос:
Я попытался опубликовать значения при установке флажка с помощью ajax, но это не удалось, код кажется мне правильным .. в URL-адресе это выглядит так, что так не должно быть..
http://localhost/logsys/admin/roleaccess/<?%20$role['id']; ?>
Я использую codeigniter версии 3.1.10, работающий на xampp версии 7.3.0
<script>
$('.form-check-input').on('click', function() {
const menuId = $(this).data('menu');
const roleId = $(this).data('role');
$.ajax({
url: "<?= base_url('admin/changeaccess'); ?>",
type: 'post',
data: {
menuId: menuId,
roleId: roleId
},
success: function() {
document.location.href = "<?= base_url('admin/roleaccess/'); ?>" roleId;
}
});
});
</script>
Он должен передавать значение, которое позволяет пользователю получить доступ к некоторому меню
Комментарии:
1. Это происходит
roleId
в конце. Какое значениеroleId
?2. это целочисленное значение из базы данных для распознавания роли пользователя, будь то администратор или пользователь… спасибо, теперь это решено..
3. Предполагается, что это целое число, но, очевидно, это не так. Значение является буквальной строкой
<? $role['id']; ?>
.
Ответ №1:
<script>
$('.form-check-input').on('click', function() {
const menuId = $(this).data('menu');
const roleId = $(this).data('role'); // roleId = <? $role[‘id’] ?> so php did not echo role id here
$.ajax({
url: "<?= base_url('admin/changeaccess'); ?>",
type: 'post',
data: {
menuId: menuId,
roleId: roleId
},
success: function() {
document.location.href = "<?= base_url('admin/roleaccess/'); ?>" roleId;
}
});
});
</script>
Для решения измените свой form-check-input
элемент
<... class=“form-check-input” data-role=“<?php echo $role[‘id’]; ?>” data-menu=“echo menu variable” ...>
Если это не сработает, чтобы поделиться своим HTML form-check-input
-кодом кнопки
Комментарии:
1. спасибо бро, я написал PHP эхо, как в этот <?= $role[‘id’]?>, но я скучал «=».. ваш ответ напоминает мне об этом!