使用Ajax&;PHP

使用Ajax&;PHP,php,jquery,ajax,Php,Jquery,Ajax,简介: 上周一,我的Web服务器(Debian8、Postgres9.3、Apache2和PHP5)崩溃了:(好消息是我有了数据备份:) 从那时起,我就用这个环境安装新服务器:Debian8、Postgrest9.4、Apache2、PHP5 今天服务器运行正常,我已经恢复了Postgres表上的数据 在这个网站上,我有一个页面,上面有一个表,我可以加载Postgres查询的数据 我选中row with checkbox,然后单击一个按钮,使用Jquery+Ajax+PHP更新数据库中的sele

简介:

上周一,我的Web服务器(Debian8、Postgres9.3、Apache2和PHP5)崩溃了:(好消息是我有了数据备份:)

从那时起,我就用这个环境安装新服务器:Debian8、Postgrest9.4、Apache2、PHP5

今天服务器运行正常,我已经恢复了Postgres表上的数据

在这个网站上,我有一个页面,上面有一个表,我可以加载Postgres查询的数据

我选中row with checkbox,然后单击一个按钮,使用Jquery+Ajax+PHP更新数据库中的select寄存器

问题:

从我重新安装了新服务器时,我想更新我没有正确显示的寄存器。我必须手动重新加载到页面以正确查看更新

例如:我选择8个寄存器,单击按钮更改一个字段,在执行update.php之后,只更新了6个和2个:(有时会发生这种情况,我可能选择8个和5个好的…或者其他什么

我使用以下代码在Ajax请求后重新加载页面:

$.ajax({
        url:"updateEstado.php",
        type:"POST",
        data:{"estado": inputvalue, "id_fichaje": value, "saldo": arraySaldo[key]},
        dataType:"text",
        success:function(data){
        $('#canviestat').modal('hide');                     //Close window modal
        $('#tableprod').bootstrapTable('uncheckAll');   // Unchecked all checkboxes
        window.location.reload();                               // Recargar página
 }
}))

我尝试了很多东西。Window.location.reload(true)->不带缓存,也重定向到初始页面

php代码:

<?php
        header('Content-type: application/json');

        session_start();

        if(isset($_SESSION['username']) and $_SESSION['username'] != ''){

                include("db_tools.php");
                include("functions.php");

                $conn = dbConnect("localhost", "5432", "-", "-", "-");

                $estado = $_POST['estado'];
                $estado = Estado($estado);

                $id_fichaje = $_POST['id_fichaje'];
                $saldo = $_POST['saldo'];

                $username = $_SESSION['username'];

                $query = "UPDATE produccion.estado SET usuario='{$username}', estado='{$estado}', fecha_mod=now() WHERE id_fichaje = '{$id_fichaje}'";

                $result = pg_query($conn, $query);

                pg_close($conn);

        } else{
            ?>
            <br>
        <br>
        <div class="row">
              <div class="text-center">
                  <p class='errorLogin'>La sessió no està activa, si us plau login <a href="login.php">aquí</a></p>
              </div>
        </div>
<?php
        }?>

它在寄存器中的调试控制台中显示此错误,但未正确上载:

jquery.min.js:4 XHR加载失败:POST

调试网络控制台屏幕截图:


检查浏览器中的“网络”选项卡,查看请求的外观和实际响应。另外,检查你的错误日志,看看里面是否有任何线索。我正在查看网络日志,但我不知道如何解释数据。服务器的日志文件我已经看到了,但是没有任何线索。您应该在url列表中看到
updateEstado.php
(在执行ajax之后)。单击它并检查“response”选项卡。在ajax之后,我没有updateEstado.php的数据,开始页面是fitXattages.php,带有jquery代码。此调用通过Ajax进行UpdateFixations。
UpdateFixations
?在ajax代码中,您将发布到:
updateEstado.php
。当ajax被执行时,您应该看到该路径显示在network选项卡下。