La llamada Ajax no puede encontrar el archivo PHP

Oct 01 2019

Estoy haciendo una llamada ajax, pero da un error que dice que el archivo 404 no se encuentra.

        $.ajax({ 
            type      : 'POST',
            url       : 'app/lib/functions.php',
            data      : data,
            success   : function(data) {

            }
        });

Mi estructura de proyecto es esta

Estoy haciendo una llamada ajax desde main.js (en público fodler) a functions.php (en la carpeta de la aplicación). Por favor ayuda. Estoy cansado de esto. Editado: Intenté con ../ y ../../ delante de la url en ajax pero no funciona. Creo que tiene algo que ver con la carpeta de la aplicación, ya que esta carpeta no está disponible para el lado del cliente, algo así. No sé cómo hacer el ajax ahora. Mi .htaccess tiene este código ya que estoy redirigiendo a la carpeta pública de forma predeterminada.

RewriteEngine On
RewriteBase /proj_name/

RewriteCond %{THE_REQUEST} /public/([^\s?]*) [NC]
RewriteRule ^ %1 [L,NE,R=302]

RewriteRule ^((?!public/).*)$ public/$1 [L,NC]

EDITAR : Si elimino el .htaccess, la ruta '../app/lib/functions.php' funciona

Respuestas

Ifaruki Oct 01 2019 at 01:12

tal vez intentarlo con:

$.ajax({ 
        type      : 'POST',
        url       : '../../app/lib/functions.php',
        data      : data,
        success   : function(data) {

        }
    });

o

$.ajax({ 
        type      : 'POST',
        url       : '../app/lib/functions.php',
        data      : data,
        success   : function(data) {

        }
    });
SimonJL Oct 01 2019 at 01:13

No uso mucho AJAX, pero creo que debería apuntar a una ruta, no directamente a un archivo. Ese camino sería relativo y nunca se resolvería realmente.