Мне очень трудно понять, как все это работает вместе.Я возился с этим несколько дней и не смог придумать никаких результатов.Я пытаюсь заполнить текстовое поле в форме, и когда форма отправлена, я хочу добавить текст в базу данных sqlite, используя ajax.
Я понимаю, что вам нужен вызов $ .get в jquery, который запускается при отправке формы.Это, кажется, работает нормально, так как я могу вызывать окна оповещений js оттуда.Однако, когда я передаю адрес сценария php, в котором есть строки для добавления в базу данных sqlite с использованием PDO, в базу данных ничего не добавляется.Тем не менее, когда я запускаю этот php-скрипт с использованием php cli, что-то будет добавлено в базу данных.
Я, похоже, упускаю важный шаг здесь.Я был бы очень признателен, если бы кто-то смог преодолеть этот разрыв для меня!
Редактировать: По просьбе Мартина вот какой-то код:
Мой php генерирует такой список с формой в середине:
<ul>
<li>hello</li>
<li id="formItem">
<form action="" method="post">
<input type=text name="content"/>
</form>
</li>
<li>world</li>
</ul>
Затем мой код jquery добавляет, что все, что находится в текстовом поле прямо над ним в списке, выполняет вызов ajax.Это внутри $ (document) .ready (function () {.
$("form").submit(function() {
var inputText = $("input").val();
$.ajax({
type: "POST",
url: "add.php",
data: inputText,
success: function() {
$('#formItem').prev().after(
"<li>" + inputText + "</li>"
)}
});
});
Мой файл add.php выглядит следующим образом, и он вставит что-то в мою базу данных, если я выполню скрипт php на cli:
<?php
$base = new PDO('sqlite:todo.db');
$sql = $base->prepare("INSERT INTO ThisTable (content, priority) VALUES ('lolololol', 1);");
$sql->execute();
$base = null;
?>