我很难理解这一切是如何协同工作的.我已经摆弄了几天,并且无法得出任何结果.我正在尝试填写表单中的文本字段,并且在提交表单时,我想使用ajax将文本添加到我的sqlite数据库.
我知道你需要在jquery中调用$ .get,这是在表单提交时触发的.这似乎工作正常,因为我可以从那里触发js警报框.但是,当我传递php脚本的地址,该脚本有使用PDO添加到sqlite数据库的行时,不会向数据库添加任何内容.但是,当我使用php cli运行这个php脚本时,会有一些东西被添加到db中.
我似乎错过了这里必不可少的一步.如果有人能为我弥合这个差距,我将非常感激!
编辑:按照Martin的要求,这里有一些代码:
我的php生成一些这样的列表,中间有一个表单:
<ul>
<li>hello</li>
<li id="formItem">
<form action="" method="post">
<input type=text name="content"/>
</form>
</li>
<li>world</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
然后我的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>"
)}
});
});
Run Code Online (Sandbox Code Playgroud)
我的add.php文件看起来像这样,如果我在cli上执行php脚本,它会在我的数据库中插入一些内容:
<?php
$base = new PDO('sqlite:todo.db');
$sql = $base->prepare("INSERT INTO ThisTable (content, priority) VALUES ('lolololol', 1);");
$sql->execute();
$base = null;
?>
Run Code Online (Sandbox Code Playgroud)