Пожалуйста, мне нужна помощь. У меня есть код выбора, который некорректно работает в ajax. На самом деле я не знаю, где я ошибся, но коды не работают. Вот коды:
<?php
require_once 'config/dbconfig.php';
if (isset($_REQUEST['note_id'])) {
$id = intval($_REQUEST['note_id']);
$query = "SELECT note_id, class, subject, topic, content, author FROM notes WHERE note_id = :id";
$stmt = $pdo->prepare( $query );
$stmt->execute(array(':id'=>$id));
$row=$stmt->fetch(PDO::FETCH_ASSOC);
?>
<div class = "card-body">
<div class = "col-md-12 mb-4">
<h5 class = "text-center"><?php echo $row['class']; ?></h5>
</div>
<div class = "row">
<div class = "col-md-6 mb-4">
<h5 class = "text-center"><?php echo $row['subject']; ?></h5>
</div>
<div class = "col-md-6 mb-4">
<h5 class = "text-center"><?php echo $row['topic']; ?></h5>
</div>
</div>
<div class = "col-md-12 mb-4">
<?php echo $row['content']; ?>
</div>
<div class = "row">
<div class = "col-md-4 mb-4">
<h5 class = "text-center"></h5>
</div>
<div class = "col-md-4 mb-4">
<h5 class = "text-center"></h5>
</div>
<div class = "col-md-4 mb-4">
Created By: <h5 class = "text-center"><?php echo $row['author']; ?></h5>
</div>
</div>
</div>
<?php
}
?>
Это ajax, который, как предполагается, переносит указанные выше коды выбора на родительскую страницу. Но не работает.
Вот коды ajax:
<script>
$(document).ready(function(){
$(document).on('click', '#getUser', function(e){
e.preventDefault();
var uid = $(this).data('note_id'); // it will get id of clicked row
$('#dynamic-content').html(''); // leave it blank before ajax call
$('#modal-loader').show(); // load ajax loader
$.ajax({
url: 'getnotes.php',
type: 'POST',
data: 'note_id='+uid,
dataType: 'html'
})
.done(function(data){
console.info(data);
$('#dynamic-content').html('');
$('#dynamic-content').html(data); // load response
$('#modal-loader').hide(); // hide ajax loader
})
.fail(function(){
$('#dynamic-content').html('<i class = "glyphicon glyphicon-info-sign"></i> Something went wrong, Please try again...');
$('#modal-loader').hide();
});
});
});
</script>
Я вызываю его через тег привязки, вот код привязки: На самом деле я использую цикл foreach.
<li><a data-id = "<?php echo $row['note_id']?>" href = "#1" class = "waves-effect" id = "getUser"><?php echo $row['topic']?></a>
</li>
Когда я нажимаю на ссылку, она работает, но не отображает запрос в родительском div.






Из PHP вы добавляете атрибут данных к привязке. Это data-id.
<a data-id = "<?php echo $row['note_id']?>" ...
В вашем клиентском скрипте вы получаете неверный атрибут данных. data-note_id не существует. Я думаю, вы перепутали имя столбца базы данных и имя атрибута данных, которое вы указали.
var uid = $(this).data('note_id');
Должно быть:
var uid = $(this).data('id');
Я предполагаю, что вы пытаетесь получить значение атрибута data-id.
Вот.
var uid = $(this).attr('data-id');