-3

我试图通过 ajax 和 php 进行验证,这是我的 ajax 代码:

function PrintRecibopapel()
{
    recibo = document.getElementById("txtCod").value;

    if(recibo == "")
        {
            alert("Debe Guardar el recibo antes de imprimir");
        }
    else
    {               
        //ImprimirPDF("modulos/reporte/ingresos/RPrintReciboPapel.php?cods="+recibo);

        $.ajax({
            method: 'GET',
            url: 'modulos/ingresos/actualizarIngreso.php',
            data: {recibo: recibo}
        })
    } 

    }               

该功能PrintRecibopapel();在我的表单中,通过 onclick 输入

所以,这是我的 php(其他文件):

<?php

include("../../libreria/engine.php");

$_SESSION["logError"] = array();

$recibo = $_GET["recibo"];

$sql = "UPDATE af_ing SET copia = 1 WHERE cod = '$recibo'";
$rs = mysql_query($sql);

?>

<script languaje= 'javascript'>
mostrarErrores();
actualizarPestana();
</script>

Google Chrome 控制台给我的错误是:VM2941:1 GET http://localhost/municipia1/modulos/ingresos/actualizarIngreso.php?recibo=2017-00090 404 (Not Found)

正如您所看到的(至少是我),url 很好,并且可以很好地传递变量recibo,我做错了什么吗?

4

1 回答 1

0

服务器端脚本的 AJAX 路径可以是相对的,也可以是绝对的。在这种情况下,您将从服务器端脚本所在的同一目录位置进行 AJAX 调用。由于您从同一目录运行两个脚本,因此使用相对路径并将 AJAX 调用中的 URL 更改为以下内容会更容易:

url: 'actualizarIngreso.php',

就目前而言,AJAX 调用正在寻找以下错误并生成 404 错误:

municipia1/modulos/ingresos/municipia1/modulos/ingresos/actualizarIngreso.php

很多时候,开发人员会开发一个服务器端脚本的中央库,并将它们放在一个可以接收来自多个位置的调用的位置。在这种情况下,您可以在 AJAXurl参数中使用绝对路径:

url: 'http://hostname/municipia1/modulos/ingresos/actualizarIngreso.php',
于 2018-03-12T16:28:34.283 回答