Пожалуйста, проверьте мой код в следующем:неопределенная ошибка индекса в запросе JQuery Ajax
PHP & HTML код (file1.php):
<?php
$conn = //connected to db successfully.
$sql = "SELECT t1.column1 AS Column_1 FROM table1 t1";
$rs = mysqli_query($conn,$sql);
$rows= mysqli_fetch_assoc($rs);
do{
?>
<button data-id="<?php echo $rows['Column_1']; ?>" type="button" onclick="handle_item('id')">Click Me</button> <br>
<?php }while($rows = mysqli_fetch_assoc($rs)); ?>
JQuery AJAX код (file1.php):
<script type="text/javascript">
var item_id;
function handle_item(item_id) {
var c = $(this).data(item_id);
$.ajax({
url: 'handle_input.php',
type: 'POST',
data: {
'button_id': c
},
success: function (data) {
alert(data);
}
});
}
</script>
PHP код (handle_input.php):
<?php
echo "Button with id ".$_POST['item_id]." clicked!";
?>
В настоящее время проблемы (как и следовало ожидать) - печально известная ошибка в этом случае - ошибка неопределенного индекса: button_id. Я получаю его как предупреждение, когда я нажимаю на одну из кнопок. Я уже прочитал дублирующие вопросы о SO, но, к сожалению, ни один из тех, кого я читал, не смог решить мою проблему. Я ценю, что вы руководите мной этим.
Кроме того, как вы видите из моих кодов, я извлекаю несколько кнопок из базы данных, и при отображении я назначаю каждому идентификатор данных и использую этот идентификатор данных в ajax для использования в 'handle_input.php' и Я хочу получить каждый идентификатор кнопки, на который я нажал. Заранее спасибо.
UPDATE:
Это было некоторое время, так как я задал этот вопрос, но я был любопытными о чем-то мой вопрос: Почему не режим массива (данные: { «button_id» : c}) работают для меня в функции $ .ajax (что приводит к неопределенной ошибке индекса для переменной $ _POST), тогда как строковый режим (данные: «usg_id =» + c)?
Пожалуйста, дайте более подробную информацию об ошибке вы получили, я имею в виду линию и файл, который вы получаете ошибка. Также вы используете 'item_id' handle_input.php, но в Ajax вы передаете button_id, пожалуйста, проверьте. – vbrmnd
начните с базовой отладки в консоли браузера и, проверив запрос, 'это' не то, что вы думаете, это – charlietfl
@charlietfl изменение режима данных из режима массива в «button_id = + c» разрешило мою неопределенную ошибку индекса. Кроме того, как я писал в своем последнем абзаце, я хочу получить каждый идентификатор кнопки, на который я нажимаю? Есть ли какая-либо ошибка в моей функции «this»?Потому что независимо от того, на какую кнопку я нажимаю, я получаю только оповещение кнопки id 0. Не могли бы вы предложить исправить это? – 4lisalehi