0

这是我在 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>

在我看来一切都很好。我错过了什么吗?谢谢您的帮助。

4

1 回答 1

0

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

于 2013-11-12T18:09:04.350 回答