У меня проблема с моим Ajax.Кажется, он не отправляет данные в мой php-файл, хотя он работал правильно 2 дня назад.HTML:
<form id='comment' action='process.php' method="POST">
<textarea></textarea>
<button type='submit'>Comment</button>
</form>
Мой код ajax:
$('#comment').submit(function(event) {
var form = $(this);
var method = form.attr('method');
var url = form.attr('action');
info = {
comment: $('textarea').val()
};
console.log(method);
console.log(url);
console.log(info);
$.ajax({
type: method,
url: url,
data: info,
success: function(data){
alert(data);
}
});
event.preventDefault();
});
Я делаю это для друга и использую точно такой же код Ajax (слегка измененный) на своем веб-сайте иэто работает без нареканий.Я думаю, что самый большой красный флаг здесь - это то, что в моем php-файле у меня есть if-else, который должен отправлять оповещение в случае, если текстовая область пуста, но по какой-то причине он здесь этого не делает, даже если ничего не проходит.Я использовал console.log для всех переменных, чтобы увидеть, верны ли их значения, и они верны.Предупреждение (данные) просто возвращает пустое поле предупреждения.
РЕДАКТИРОВАТЬ: В соответствии с запросом, PHP-код из process.php
<?php
session_start();
include_once 'db_connection.php';
date_default_timezone_set('Europe/Zagreb');
if(isset($_POST['comment'])){
function SQLInsert($id, $date, $komentar, $conn){
$sql = "INSERT INTO comments (user, date, comment) VALUES ('$id', '$date',
'$comment')";
$conn -> query($sql);
$conn -> close();
}
$id = $_SESSION['username'];
$date = date('Y-m-d H:i:s');
$comment = htmlspecialchars($_POST['comment']);
SQLInsert($id, $date, $komentar, $conn);
} else {
echo '<script>';
echo 'alert("Comment box is empty.");';
echo '</script>';
}
?>
РЕДАКТИРОВАТЬ: Проблема решена, спасибо за помощь всем.