这是我在Stackoverflow上的第一篇文章!
所以我试图通过Jquery的$ .ajax函数执行“插入”查询。查看chrome dev工具上的网络选项卡,它似乎正在加载我的文件,但没有更新数据库。
没有任何ajax,这段代码工作正常:
<form id="alForm" name="alForm" method="POST" action="add.php">
然而,这将我带到空白的php页面。我不希望这样。
让我分享我的代码!
这是PHP:
<?php
error_reporting(E_ALL);
$user = 'root';
$pass = '';
try {
$db = new PDO('mysql:host=localhost;dbname=utility_portal', $user, $pass);
if (isset($_POST['save'])) {
$t = $db->prepare("INSERT INTO `u_links` (`title`, `link`) VALUES (?, ?)");
$t->execute(array($_POST['title'], $_POST['link']));
}
} catch(PDOException $e) {
echo "Error!: " . $e->getMessage() . "<br />" ;
die();
}
?>
以下是Jquery:
$('#alForm').on('submit', function(event) {
$.ajax({
url : "add.php",
type : "POST",
data: $('#alForm').serialize(),
success: function(data) {
alert('submitted ' + data);
}
});
event.preventDefault();
});
以及HTML:
<form id="alForm" name="alForm">
<label>Title</label>
<input type="text" name="title" placeholder="Title"/>
<label>Link</label>
<input type="text" name="link" placeholder="Link"/>
<input type="submit" name="save" id="save" class="btn btn-primary" value="Save" />
</form>
一切看起来都不错。我错过了什么吗?谢谢您的帮助。
答案 0 :(得分:0)
我认为您的问题是“序列化”部分。如果删除该行代码应该工作。
您还可以使用快捷键代码:
$.post("add.php",
success: function(data) {
alert('submitted ' + data);
}