【问题标题】:jQuery AJAX script not firingjQuery AJAX 脚本未触发
【发布时间】:2013-02-07 02:40:15
【问题描述】:

我有以下似乎没有触发的 AJAX 脚本。谁能告诉我这是怎么回事?

form.php

<script type = "text/javascript"> $(document).ready(function () {
    $('#updatebtn1').click(function () {
        $('#result1').show('slow').delay(4000).hide('slow')
        $.post('process.php', $('#updateform1').serialize())
    });
});
</script>

<form id="updateform1">
    <div class="tbl_header">Timetable Support Website</div>Due Date:
    <script>
        $(function() {
            $("#datepicker1").datepicker({
                minDate: -0,
                dateFormat: 'dd/mm/yy',
                maxDate: new Date(2013, 1, 22)
            })
        });
    </script>
    <input type="text" id="datepicker1" style="width: 100px;
            height: 10px;" value="18/02/2013" name="duedate" />&nbsp; Status:
    <select style="width: 125px;" name="status">
        <option>Pending</option>
        <option>----</option>
        <option>Pending</option>
        <option>In Progress</option>
        <option>Complete</option>
    </select>&nbsp;
    <input type="hidden" name="id" value="1">
    <input type="button" id="updatebtn1" value="Update" style="width: 100px;"
    class="pmbtn" />
</form>
<div id="result1" style="display: none; color: red">Update successful!</div>

process.php

<?php
$duedate = $_POST["duedate"];
$status = $_POST["status"];
$id = $_POST["id"];

$sql = "UPDATE pm_schedule SET duedate=?, status=?, id=? WHERE id=?";
$q = $pdo->prepare($sql);
$q->execute(array($duedate,$status,$id));
?>

【问题讨论】:

  • 不要将mysql_real_escape_string 与 PDO 一起使用
  • 如何判断“不开火”?
  • @Mike 数据库中的值没有被更新
  • @Mike 数据库就我而言已连接并且使用的字段名称是正确的 - 所以我对为什么一切都不起作用感到困惑
  • 你能检查你的浏览器控制台看看请求是否发送到服务器吗?也尝试在更新点击处理程序中放一个控制台stmt,看是否调用

标签: php jquery ajax pdo


【解决方案1】:

我对位置占位符不太熟悉(我一直使用命名占位符),但我假设您需要这样做

$q->execute(array($duedate,$status,$id,$id)); 

因为$id 被使用了两次。 MySQL 不知道你想要什么作为最终占位符。可能会引发占位符计数不匹配的某种错误。

尝试将此添加到您的数据库句柄中:

$dbh->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );

然后将process.php 的输出回显到主页。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-20
    • 1970-01-01
    • 2012-07-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多