jquery ajax 数据库不会更新


jquery ajax database won't update

这是我在Stackoverflow上的第一篇文章!

所以我正在尝试通过Jquery的$.ajax函数执行"插入"查询。查看 chrome 开发工具上的网络选项卡,它似乎正在加载我的文件但没有更新数据库。

没有任何 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>

对我来说,一切看起来都很好。我错过了什么吗?感谢您的帮助。

我认为您的问题是"序列化"部分。如果删除该行,则代码应该可以工作。您还可以使用快捷方式代码: $.post("add.php", success: function(data) { alert('submitted ' + data); }