Hola a todos necesito de su ayuda nuevamente, lo que pasa es que tengo un proyecto que estoy subiendo a mi VPS pero al ejecutarlo me da error en mis rutas que están mis funciones ajax.
esta es mi funcion.
function agregar(){
var incorrecto = document.getElementById('respuesta');
material= document.getElementById("Sel_materiales").value;
cantidad=document.getElementById("Txt_cantidad").value;
guia=document.getElementById("Txt_guia").value;
proveedor=document.getElementById("Sel_proveedor").value;
servicio=document.getElementById("Sel_servicio").value;
id_usuario=document.getElementById("Txt_usuario").value;
var datalist = 'Sel_materiales='+material+'& Txt_cantidad='+cantidad+'& Txt_guia='+guia+'& Sel_proveedor='+proveedor+'& Sel_servicio='+servicio+'& Txt_usuario='+id_usuario;
$.ajax({
type:'post',
url:'../resources/views/system/post1.php', // esta es la ruta que no me funciona
data: datalist,
success:function(resp){
if(resp==='error')
{
incorrecto.innerHTML='<div class="alert alert-danger" role="alert">Debe Llenar todos los campos de forma correcta</div>'
}else{
incorrecto.innerHTML='';
$("#milistbody").append(resp);
}
}
});
};
de forma local, no tengo ningún problema, es al subirla, si me pudiesen orientar a como declarar esas rutas, para no tener problemas al subir mi proyecto. desde ya muchas gracias!!!
Si no sabes tu las carpetas, archivos y estructura de los ficheros del servidor...
Las rutas relativas parten de la ruta actual. Si no eres capaz usa rutas absolutas y ya.
PD: Esas variables les falta var.
Hola, aquí el tema es saber donde tenés ubicado el archivo "post1.php" y de acuerdo a esa ubicación podremos saber la ruta en donde está alojado en tu servidor.
Saludos
Citarurl:'../resources/views/system/post1.php', // esta es la ruta que no me funciona
¿No hay definido ningún rootpath?
/ = Root directory
. = This location
.. = Up a directory
./ = Current directory
../ = Parent of current directory
../../ = Two directories backwards
Ejemplos para arreglarlo:
https://stackoverflow.com/questions/4213620/jquery-ajax-url
Cita de: [D]aniel en 18 Diciembre 2020, 14:19 PM
Hola, aquí el tema es saber donde tenés ubicado el archivo "post1.php" y de acuerdo a esa ubicación podremos saber la ruta en donde está alojado en tu servidor.
Saludos
Hola [D]aniel, gracias por responder,
el archivo post1.php esta ubicado en la siguiente ruta dentro de mi servidor.
/var/www/cga/resources/views/system
y el archivo JS esta ubicado en esta otra ruta:
/var/www/cga/public/js
Saludos
Estas llamando a:
../resources/views/system/post1.php
desde:
/var/www/cga/public/js/script.js
Eso significa que vas a:
/var/www/cga/public/resources/views/system/post1.php
Pero tu quieres ir a:
/var/www/cga/resources/views/system/post1.php
Si te fijas, tienes que retroceder un directorio más.
url:'../../resources/views/system/post1.php',
Saludos
La ruta no es relativa al archivo javascript sino a la url que carga ese archivo archivo javascript. Necesitamos la ruta del cual se ejecuta ese javascript.
Ostras muy cierto jajajaja
Lo ideal en verdad seria definir una ruta global y no usar relativas de este tipo.
const systemPath = '//dominio.com/cga/resources/views/system/';
...
...
...
$.ajax({
type:'post',
url: systemPath + 'post1.php',
....
Saludos
jajajaja muy buena #!drvy xD
proteus8 recuerda que Ajax y javascript los interpreta el navegador, entonces las rutas deben ser URL'S no una ruta path (del directorio, sistema de ficheros).
/var/www/cga/public/js no es una URL válida :P
Cita de: el-brujo en 21 Diciembre 2020, 15:26 PM
jajajaja muy buena #!drvy xD
proteus8 recuerda que Ajax y javascript los interpreta el navegador, entonces las rutas deben ser URL'S no una ruta path (del directorio, sistema de ficheros).
/var/www/cga/public/js no es una URL válida :P
Y la URL tampoco se tiene que ver reflejada en el sistema de archivos aunque con los servidores que usan PHP esto es el comportamiento por defecto por lo general.
Pero es posible que si tienes:
/var/www/cga/public/resources/views/system/post1.phpNo pueda ser alcanzado desde:
www.tudominio.com/cga/public/resources/views/system/post1.phpY use cualquier otra ruta. Dependiendo de la configuración del servidor.
Para solucionar el tema de directorios, lo que yo hice en su momento es usar un Simbol Link y que el archivo javascript apunte al Simbol Link y éste a apunte a destino, eso debería funcionar.
Saludos
Cita de: [D]aniel en 21 Diciembre 2020, 18:10 PM
Para solucionar el tema de directorios, lo que yo hice en su momento es usar un Simbol Link y que el archivo javascript apunte al Simbol Link y éste a apunte a destino, eso debería funcionar.
Saludos
Hola [D]aniel, tienes algún ejemplo de como usaste el Simbol Link, no había escuchado nunca sobre eso.
Si aquí te paso:
https://www.hostinger.com.ar/tutoriales/crear-enlace-simbolico-linux/
Los Simbol link (enlaces simbólicos) son igual o muy parecidos a los accesos directos de Windows.
Saludos