Я AJAX noob. Я писал код, чтобы понять это, но независимо от того, что я не мог заставить его работать. Textarea в коде должен обновить comment_area
комментария id=218
, когда пользователь нажал кнопку «Сохранить». Вероятно, ошибка в коде AJAX, который я не смог найти.Простой пост ajax не работает
Мой AJAX скрипт:
<script type="text/javascript">
$(document).ready(function() {
$("#save").submit(function() {
var text = $('#breaking_news_text').val();
var id = 218,
$.ajax({
type: "POST",
url: "update.php",
data: {comment_area:text , id:id}
success: function() {
alert("sucess");
}
});
});
});
</script>
<div id="b_news">
<form method="post" action="">
<div>
<div>
<textarea id="breaking_news_text" class="breaking_news_text" rows="6" cols="50" placeholder="Add text here..." required></textarea>
</div>
</div>
<div>
<input type="button" id="save" value="Save Changes"/>
</div>
</form>
</div>
Мой update.php файл
<?php
include("./inc/connect.inc.php");
if(isset($_POST['comment_area']))
{
$update = mysqli_real_escape_string($mysqli, $_POST['comment_area']);
$sql = "update comments set comment_area='$update' Where id='".$_POST['id']."'";
$result = mysqli_query($mysqli, $sql);
}
?>
Вы уязвимы к [SQL Injection атак] (HTTP : //bobby-tables.com). вы также не прерываете отправку формы, так что, вероятно, вы убиваете свой запрос ajax при выгрузке страницы. –
Вам также необходимо добавить preventDefault(), чтобы убедиться, что форма не идет вперед и не выполняет свою собственную заявку –
Вы просматривали запрос/ответ AJAX в инструментах разработчика браузера? Включили ли вы библиотеку jQuery в проект? Есть ли сообщения об ошибках? Вы используете это на веб-сервере? –