首页 > 解决方案 > 尝试将记录发送到数据库时出现 404 错误

问题描述

我正在尝试使用 pdo 方法对 php 做一个 crud(我只是在学习这种方法),还将它与一个 sweetalert 相结合以使其外观更好,我有一个错误,当给出一个发送按钮时,我得到以下控制台中的错误

POSThttp://localhost/proyectos/php/registrarse.php
[HTTP/1.1 404 Not Found 4ms]

这些是该过程中涉及的文件。你能帮我解决这个错误吗?提前致谢。

代码注册php

<?php

     require_once "../procesos/crud.php";
     $datos=array(
          'identificaion' => $_POST['nitr'],
          'nombre' => $_POST['nombre'],
          'apellido' => $_POST['apellido'],
          'correo' => $_POST['correo'],
          'clave' => $_POST['clave'],
          'direccion' => $_POST['direccion'],
          'numero' => $_POST['telefono'],
          'genero' => $_POST['genero'],
          //'confirmacion clave' => $_POST['clave2']
     );
     echo Crud::insertarDatos($datos);
?>


crud 代码,就像不同文件之间的中介

<?php
     require_once "../php/Conexion.php";
      class Crud extends Conexion{
          public function insertarDatos($datos){
               $Registrar="INSERT INTO `usuarios` (`IDENTIFICACION`, `PRIMER_NOMBRE`,`PRIMER_APELLIDO`,`CORRE`, `CLAVE`, `DIRECCION`, `TELEFONO`, `ID_TIPO_USUARIO_FK`, `ID_GENERO_FK`) VALUES (':nit',':nombre', ':apellido', ':correo', ':clave', ':direccion', ':telefono', ':tipo_usuario', ':genero');";
               $queryRegistrar=Conexion::conectar()->prepare($Registrar);
               $queryRegistrar->bindParam(":nit",$datos["nitr"], PDO::PARAM_STR);
               $queryRegistrar->bindParam(":nombre",$datos["nombre"], PDO::PARAM_STR);
               $queryRegistrar->bindParam(":apellido",$datos["apellido"], PDO::PARAM_STR);
               $queryRegistrar->bindParam(":correo",$datos["correo"], PDO::PARAM_STR);
               $queryRegistrar->bindParam(":clave",$datos["clave"], PDO::PARAM_STR);
               $queryRegistrar->bindParam(":direccion",$datos["direccion"], PDO::PARAM_STR);
               $queryRegistrar->bindParam(":telefono",$datos["telefono"], PDO::PARAM_STR);
               $queryRegistrar->bindParam(":genero",$datos["genero"], PDO::PARAM_STR);
               return $queryRegistrar->execute();
               $queryRegistrar->Close();
          }
          
     }
     

?>

我编写了 processes.js 代码,它负责使用 ajax 显示 sweetalert

function insertarDatos() {
  $.ajax({
    type: "POST",
    url: "../php/registrarse.php",
    data: $("#formulario").serialize(),
    success:function (r) {
      console.log("adsdadaas");
      if (r == 1) {
        $("#formulario")[0].reset();
        swal("exito", ":D", "success");
      } else {
        swal("error", ":(", "error");
      }
    }
  });
  return false;
}

标签: javascriptphphtml

解决方案


这可能是错误的,但看起来您发布到的 URL 不正确

POST http://localhost/proyectos/php/registrarse.php

但是您的示例代码相同

register.php

那么您的 ajax 拒绝需要发布到registrarse.phporregister.php吗?


推荐阅读